2015-04-03 2 views
0

При выполнении следующего кода:Ошибка «Нет перегрузку методы„EndExecuteNonQuery“не принимает 0 аргументов»

private void button1_Click(object sender, EventArgs e) 
    { 
     SqlConnection cn = new SqlConnection(global::DataBase.Properties.Settings.Default.Database1ConnectionString); 
     try 
     { 
      string sql = "INSERT INTO student (stdid,stdname) values("+tid.Text+",N'"+tname.Text+"')"; 
      SqlCommand exeSql=new SqlCommand(sql,cn); 
      cn.Open(); 

      exeSql.EndExecuteNonQuery(); // <-- Error occurs here 

      MessageBox.Show("Add new Record Done||","Message",MessageBoxButtons.OK,MessageBoxIcon.Information); 
      this.studentTableAdapter.Fill(this.database1DataSet.student); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error); 
     } 
     finally 
     { 
      cn.Close(); 
     } 

    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     this.studentTableAdapter.Fill(this.database1DataSet.student); 
    } 
}} 

я получил «Нет перегрузку для метода„EndExecuteNonQuery“принимает 0 аргументов» ошибку.

Как исправить эту ошибку?

+0

Сообщение об ошибке ясно. Этот метод имеет только одну перегрузку и принимает один параметр как 'IAsyncResult'. https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.endexecutenonquery%28v=vs.110%29.aspx –

+0

Вы должны узнать о SQL-инъекции: http: //en.wikipedia .org/wiki/SQL_injection или http://bobby-tables.com – Orace

ответ

2

Попробуйте вместо этого использовать ExecuteNonQuery().

+0

спасибо, что это работа – Shalu

Смежные вопросы