关于将sql server连接到c#(使用ADO.NET)

时间:2013-12-07 18:49:28

标签: c# sql sql-server

我在将数据库连接到连接字符串部分中的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)

2 个答案:

答案 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