2013-09-27 38 views
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。插入值時發生錯誤

+0

確保'test_db'數據庫包含'empDetl'表 – Sachin

+0

請確保表「empDetl」存在在你的數據庫中。 –

+0

'empDetl'屬於哪個模式?我認爲這不是'dbo'。然後你需要'INSERT INTO schemaName.empDetl' –

回答

2

您可能在這裏遇到數據庫安全問題。

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

這將使用當前的Windows用戶(在Web應用程序可能是IIS用戶或任何用戶應用程序下運行的情況下)連接到使用Windows身份驗證數據庫。

儘管您的表格可能存在,但連接的用戶可能無法看到它。

試試你的連接字符串改爲您是通過Management Studio中連接到您的數據庫使用相同的用戶憑據

"Data Source=localhost;Initial Catalog=test_db;User Id=sa;Password=********;"; 
+0

感謝您的幫助。任何方式你知道如何使用代理設置sql連接。如果你知道請幫助我。 –