当我在我的应用程序中添加Car时,我得到了
ConnectionString属性尚未初始化。
我有ConnectionString属性的问题。我检查了我的类似问题,但我没有发现任何帮助。
我使用名为dbConnection.cs的类连接:
class dbConnection
{
//Connection to database
private string con = "Data Source=(local)\\SQLEXPRESS; Initial Catalog=MLQ7024; Integrated Security=TRUE".ToString();
public string Con
{
get
{
return con;
}
}
}
这是我按钮的代码
private void btnAddCar_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection(dc.Con))
{
DataTable dtCar = new DataTable();
BindingSource Car_bs = new BindingSource();
using (SqlCommand cmd = new SqlCommand("sp_Add_Car", con))
{
try
{
cmd.CommandType = CommandType.StoredProcedure;
//......
con.Open();
cmd.ExecuteNonQuery();
con.Close();
dtCar.Clear();
da.Fill(dtCar);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\t" + ex.Source);
}
}
}
refreshCar();
}
这是另一个没有错误的按钮的代码
private void btnAddPayment_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection(dc.Con))
{
DataTable dtPayment = new DataTable();
using (SqlCommand cmd = new SqlCommand("sp_Add_Paiements", con))
{
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@id_paiement", SqlDbType.Char).Value = txtBoxPaymentId.Text;
cmd.Parameters.Add("@montant", SqlDbType.SmallMoney).Value = txtBoxAmount.Text;
cmd.Parameters.Add("@id_Location", SqlDbType.Char).Value = cmbpaymentLesaseId.Text;
//cmd.Parameters.Add("@status", SqlDbType.Char).Value = txtBoxStatusPayment.Text;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
dtPayment.Clear();
da.Fill(dtPayment);
btnAddLease.Hide();
refreshPayments();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\t" + ex.Source);
}
}
}
btnAddPayment.Hide();
}
答案 0 :(得分:1)
假设dc
是您的连接,则必须使用连接字符串初始化它。也许 - 如果它是一个类 - 你必须设置一些属性,如数据库路径等。
答案 1 :(得分:1)
您没有显示初始化dbConnection
课程的位置。将它全部改为静态可能会有所帮助,我猜:
static class dbConnection
{
//Connection to database
private static string con = "Data Source=(local)\\SQLEXPRESS; Initial Catalog=MLQ7024; Integrated Security=TRUE"
public static string Con
{
get
{
return con;
}
}
}
如果你的dbConnection
课程在一种方法中起作用而在另一种方法中起作用,那么你很可能在一种方法中而不是在另一种方法中初始化它。除非您必须处理不同的数据库连接,否则使用静态类进行数据库连接可能是最佳途径。
然后你改变你的调用方法:
using (SqlConnection con = new SqlConnection(dbConnection.Con))
{
// blah-blah
}
答案 2 :(得分:0)
SqlConnection Con= New SQLConnection(@"Data Source=(local)\\SQLEXPRESS; Initial Catalog=MLQ7024; Integrated Security=TRUE");