2017-04-25 1 views
0

하나 이상의 필수 매개 변수에 대해 No 값이 지정되었습니다. C# 업데이트 데이터베이스를 업데이트하려고 시도한 곳에서 코드가 있습니다. 누군가 내 조수가 될 것입니다.C# 업데이트 쿼리

private void updatebutton_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     con.Open(); 
     OleDbCommand cmd = new OleDbCommand(); 
     cmd.Connection = con; 
      string query = "update Emplyeedata set [ID]='" + midbox.Text + "',[Name]='" + mnamebox.Text + "',[Deisgnation]='" + mdesbox.Text + "',[Leave]='" + mleavebox.Text + "'Where [Name]='"+mnamebox.Text+"'"; 
     cmd.CommandText = query; 

     cmd.ExecuteNonQuery(); 
     con.Close(); 
     cb(); 
     MessageBox.Show("Updated", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); 
    } 
    catch 
    { 
     MessageBox.Show("Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    }       
} 
+5

는 문자열 연결을 사용하지 마십시오을. https://msdn.microsoft.com/en-us/library/ms175528(v=sql.105).aspx –

+0

어떤 오류가 발생합니까? –

+0

실제 오류를 게시 할 수 있습니까, 제발 우리가 도와주고 있습니다. – Wheels73

답변

1

조금 더 개선하면 이렇게 시도해 볼 수 있으며 전체 오류 정보를 게시 할 수 있습니다.

private void updatebutton_Click() 
    { 
     using (OleDbConnection con = new OleDbConnection("Define your Connection String here")) 
     { 
      string query = @"UPDATE Emplyeedata 
         SET [id] = @ID 
          ,[Name] = @Name 
          ,[Deisgnation] = @Deisgnation 
          ,[Leave] = @Leave 
         WHERE [Name] = @Name"; 

      using (OleDbCommand cmd = new OleDbCommand(query, con) { CommandType = CommandType.Text }) 
      { 
       cmd.Parameters.AddWithValue("@ID", midbox.Text); 
       cmd.Parameters.AddWithValue("@Name", mnamebox.Text); 
       cmd.Parameters.AddWithValue("@Deisgnation", mdesbox.Text); 
       cmd.Parameters.AddWithValue("@Leave", mleavebox.Text); 
       cmd.Parameters.AddWithValue("@Name", mnamebox.Text); 
       con.Open(); 
       cmd.ExecuteNonQuery(); 
      } 
      con.Close(); 
     } 
    } 

(이 정말 구조화되지 않은 방법이며, SOLID 원리/S를 따르십시오) 당신은 SQL 쿼리를 빌드 할 때

+0

새로운 OleDbConnection ("ConnectionString"), 당신이 ConnectionString 변수를 instse 해 ConnectionString 텍스트를 샘플로 사용했습니다. –