1
 protected void Button1_Click(object sender, EventArgs e)
 {
     string connString = "Data Source=localhost;Initial Catalog=test_db;Integrated Security=True;";
     string insertCommand = "INSERT INTO empDetl (empName,addr) values(@empName,@addr)";

     string _name = txtName.Text;
     string _addr = txtAddr.Text;
     using(SqlConnection conn = new SqlConnection(connString))
     {
       //open DB Connection
       conn.Open();
       using (SqlCommand cmd = new SqlCommand(insertCommand, conn))
       {
           cmd.Parameters.Clear();
           cmd.Parameters.AddWithValue("@empName", _name);
           cmd.Parameters.AddWithValue("@addr", _addr);
           cmd.ExecuteNonQuery();
       }
       conn.Close();
     }
 }

此代码无法正常工作。请告诉我错误在哪里。在插入值时它显示“无效的对象名称'empDetl'”但我的表名是empDetl。

4

1 回答 1

2

您可能在这里遇到了数据库安全问题。

"Data Source=localhost;Initial Catalog=test_db;Integrated Security=True;";

这将使用当前的 windows 用户(在 web 应用程序的情况下,可能是 IIS 用户或您的应用程序在其下运行的任何用户)使用 windows 身份验证连接到数据库。

尽管您的表可能存在,但连接用户可能无法看到它。

尝试将您的连接字符串更改为您通过管理工作室连接到数据库的相同用户凭据

"Data Source=localhost;Initial Catalog=test_db;User Id=sa;Password=********;";
于 2013-09-27T11:01:30.323 回答