使用c#在数据库中插入数据
本文关键字:插入 数据 数据库 使用 | 更新日期: 2023-09-27 18:11:11
我正试图使用c#将数据插入数据库,但遇到错误这是我的代码
string @admission_no = txtAddmissionNo.Text;
string @student_name = txtStudentName.Text;
string @father_name = txtSDof.Text;
string @receipt_no=txtReceiptNo.Text;
string @acedemic_year = academic_year.Text;
string @selectdate = dtpSD.Text;
string @Class = txtClass.Text;
string @section = txtSection.Text;
string @roll_no = txtRollNo.Text;
string query = "INSERT INTO details( Admission_no,First_Name,Father_name,recepit_no,selectdate,acedemic_year,class1,section,roll_no)values( @admission_no , @student_name,@father_name,@receipt_no,@selectdate,@acedemic_year,@Class,@section ,@roll_no)";
SqlCommand cmd = new SqlCommand(query, conn);
try
{
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
它给出了错误u必须声明@admission_no
您尚未向SqlCommand
添加任何参数。
cmd.Parameters.Add(new SqlParameter("@admission _no", SqlDbType.VarChar)).Value
= @admission_no;
...
您需要对插入查询字符串中使用@
定义的EVERY参数执行此操作。
用@
符号声明C#
变量可能会让您感到困惑,该符号引用变量,并允许您使用与C#关键字(如MyEventType @event
(同名的变量名。这通常不是一个好主意,因为它使代码更难阅读IMO.
正如@Soner Gönül在他的评论中所指出的,仅在参数定义
@
try{
SqlCommand cmd = new SqlCommand(query,conn);
cmd.Parameters.Add("@admission_no" , SqlDbType.Varchar,20).Value=txtAddmissionNo.Text;
cmd.Parameters.Add("@student_name" , SqlDbType.Varchar,50).Value=txtStudentName.Text;
cmd.Parameters.Add("@father_name" , SqlDbType.Varchar,50).Value=txtSDof.Text;
cmd.Parameters.Add("@receipt_no" , SqlDbType.Varchar,20).Value=txtReceiptNo.Text;
.... add other parameters and its value
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}