对整个winform应用相同的sql连接字符串
本文关键字:sql 连接 字符串 winform 应用 | 更新日期: 2023-09-27 18:14:31
我想把我的连接字符串应用到整个winform。如果我在这种情况下这样做-它将适用于整个win表单,但我不能使用文本框输入详细信息:
public partial class Form1 : Form
{
SqlConnection myConnection = new SqlConnection("user id=userName;" +
"password=userPass;" +
"server=.;" +
"Trusted_Connection=yes;" +
"database=dbName; " +
"MultipleActiveResultSets=True;" +
"connection timeout=30");
public Form1()
{
InitializeComponent();
}
如果我将使用文本框,我将需要输入连接字符串到每个方法。
有办法绕过它吗?
您可以采取的另一种方法是在需要时创建SqlConnection,然后在想要保存引用时将其存储在私有变量中。
所以当你需要连接时:
if( myConnection == null )
{
string connectionString = string.Format( "user id={0}, password={1}", userIdTextBox.Text, passwordTextBox.Text );
myConnection = new SqlConnection( connectionString );
}
您将扩展"字符串。格式化"以包含其他连接属性
如果你在多个地方需要"myConnection",那么把上面的代码放到一个名为"GetConnection"的方法中,让它使用文本框的内容返回一个SqlConnection实例,并在每次需要连接时调用这个方法。
编辑:就我个人而言,我会有一个方法来构建连接字符串,就像上面描述的那样,并在需要时创建一个新的SqlConnection实例。这将尝试每次打开一个新连接,但将利用ADO内置的连接池。网络图书馆。using( SqlConnection connection = new SqlConnection( this.GetConnectionString() ) )
{
// Open Connection
// Access the database
// Close the connection <- Manual closing MAY not be needed as it might be done in Dispose ...check MSDN for clarification.
}
您可以创建一个静态类来在其中存储连接字符串。总是创建连接字符串不是一个好的做法。