我是新來的.Net和C#,我一直在努力讓我的頭在如何利用一段代碼中創建的SQL連接和在另一箇中使用它。我的表單上有2個按鈕。一個連接到數據庫,另一個插入到一個表中。插入表格時如何使用連接變量?如何使我的sql連接可用於同一類別的其他部分
我希望這是有道理的。由於
namespace SQL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnConnect_Click(object sender, EventArgs e)
{
SqlOperations connect = new SqlOperations();
connect.connectToSQL("server=localhost\\SQLExpress;", "database=Cromwell; ");
}
private void btnAddToDatabase_Click(object sender, EventArgs e)
{
SqlOperations addToTable = new SqlOperations();
addToTable.InsertToTable("InputDir", "C:\\");
}
}
public class SqlOperations
{
public bool connectToSQL(string sqlHost, string database)
{
SqlConnection SqlConnect = new SqlConnection("user id=userid;" +
"password=validpassword;" + sqlHost +
"Trusted_Connection=yes;" +
database + "connection timeout=30");
try
{
SqlConnect.Open();
MessageBox.Show("Connected to SQL Express");
return true;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return false;
}
}
public bool InsertToTable(string columnName, string value)
{
SqlCommand myCommand = new SqlCommand();
myCommand.Connection = **SqlConnect**; // THIS BIT COMPLAINS
myCommand.CommandText = "INSERT INTO Config (" + columnName + ") " +
"Values ('" + value + "')";
}
}
}
你可以聲明連接作爲一個全局變量,但我會提前反對它。不要將連接打開時間超過實際操作所需的時間。在INSERT之前打開它,然後關閉。 –
它看起來像你試圖實現的模式在這裏描述得很好:http://stackoverflow.com/a/7911659/328193 – David