我在将数据库连接到连接字符串部分中的c#时遇到问题 这是我的代码但是当我运行它时,我得到一个错误:
“初始化字符串的格式不符合规范 从指数84开始
我的代码:
private void button2_Click(object sender, EventArgs e)
{
SqlConnection Cn = new SqlConnection(@" Server=TheAddress ; Database=MyDataBase.mdf ; integrated security='True' @");
Cn.Open();
SqlCommand Cm = new SqlCommand("", Cn);
Cm.CommandText = "INSERT INTO Table1(ID_Food, Name_Food , TypeOfService_Food , Price_Food , Type_Food) VALUES (@ID_Food , @Name_Food , @TypeOfService_Food , @Price_Food , @Type_Food)";
Cm.Parameters.AddWithValue("@ID_Food", textBox1.Text);
Cm.Parameters.AddWithValue("@Name_Food", textBox2.Text);
Cm.Parameters.AddWithValue("@TypeOfService_Food", textBox3.Text);
Cm.Parameters.AddWithValue("@Price_Food", textBox4.Text);
Cm.Parameters.AddWithValue("@Type_Food", textBox5.Text);
Cm.ExecuteNonQuery();
Cn.Close();
}
我甚至无法打开我的连接(在声明SqlConnection时出错) 我知道这是一个不成熟的问题...但它让我很生气(我无法正确设置)(使用visual studio 2012&sqlserver management studio 2012)
答案 0 :(得分:1)
看起来你应该从连接字符串中删除“@”。您还可以考虑在创建SqlConnection和SqlCommand对象时使用using语句,以便正确处理它们。
using (var Cn = new SqlConnection(@"Server=TheAddress;Database=MyDataBase.mdf;integrated security=True"))
{
Cn.Open();
using (var Cm = new SqlCommand("", Cn))
{
Cm.CommandText = "INSERT INTO Table1(ID_Food, Name_Food , TypeOfService_Food , Price_Food , Type_Food) VALUES (@ID_Food , @Name_Food , @TypeOfService_Food , @Price_Food , @Type_Food)";
Cm.Parameters.AddWithValue("@ID_Food", textBox1.Text);
Cm.Parameters.AddWithValue("@Name_Food", textBox2.Text);
Cm.Parameters.AddWithValue("@TypeOfService_Food", textBox3.Text);
Cm.Parameters.AddWithValue("@Price_Food", textBox4.Text);
Cm.Parameters.AddWithValue("@Type_Food", textBox5.Text);
Cm.ExecuteNonQuery();
Cn.Close();
}
}
答案 1 :(得分:-1)
您需要提供有效的connection string
。
试试这个:
SqlConnection Cn = new SqlConnection(@"Data Source=TheAddress;Initial Catalog=MyDataBase.mdf;Integrated Security=True");
编辑:来自评论:当您获得运行时激活时,请检查您是否能够与服务器通信。
选中此here