提问者:小点点

如何使用ADO.NET C#执行Sql命令?


首先,我在SqlConnection中传递了连接字符串作为参数:

SqlConnection con = new SqlConnection("server=ZIKO_RED2486;database=Students;Integrated Security = true"); 

然后我打开连接:

con.Open();

我还创建了查询字符串:

    string query = "INSERT INTO Students VALUES ('"+txt_id.Text+"','"+txt_fname.Text+"','"+txt_sname.Text+"','"+txt_numberP+"','"+txt_age.Text +"')";

然后我将它作为参数传递给SqlCommand内部的连接+执行它+关闭连接:

    SqlCommand cmd = new SqlCommand(query, con);
    cmd.ExecuteNonQuery();
    con.Close();

但当我运行应用程序时,它会抛出异常-->;“System.Data.SQLClient.SQLException:”Invalid object name“我创建了数据库”Students“,在此之前有四个列(id,f_name,s_name,number_p,age)。

Thanks For Help Before You Do.

共2个答案

匿名用户

我猜你定义连接字符串的方式是错误的。取而代之的是:

SqlConnection con = new SqlConnection("server=ZIKO_RED2486;database=Students;Integrated Security = true");

使用这种方式:

SqlConnection con = new SqlConnection("Data Source=ZIKO_RED2486;Initial Catalog=Students;User ID=UserName;Password=Password");

没有任何名为database的属性,相反,您可以通过连接字符串中的initial catalog定义数据库名称。如果您具有SQL Server身份验证,则定义用户ID密码

如果未启用SQL Server身份验证,则可以使用如下所示的Windows身份验证模式:

SqlConnection con = new SqlConnection("Data Source=ZIKO_RED2486; Initial Catalog=Students; Integrated Security=True");

匿名用户

SqlCommand cmd = new SqlCommand("INSERT INTO dbo.Students(" + " id, f_name, s_name, number_p, age, " + ") VALUES (" + " txt_id.Text, txt_fname.Text, txt_sname.Text, txt_numberP.Text, txt_age.Text" + ")", con);