چطوری این خطا حل میشه؟Must declare the scalar variable "@id".
من هنگام زدن دکمه آپدیت با خطای زیر مواجه میشم
Must declare the scalar variable "@id".
مشکل از چیه؟
کد:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data.Sql;
namespace School
{
public partial class Form6 : Form
{
public Form6()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int id = int.Parse(textBox13.Text);
sqlDataAdapter1.SelectCommand.Connection = sqlConnection1;
sqlDataAdapter1.SelectCommand.CommandText = "select * from student where id = @id";
sqlDataAdapter1.SelectCommand.Parameters.AddWithValue("@id", textBox13.Text);
sqlConnection1.Open();
SqlDataReader Dr = sqlDataAdapter1.SelectCommand.ExecuteReader();
Dr.Read();
try
{
textBox1.Text = Dr["name"].ToString();
textBox2.Text = Dr["family"].ToString();
textBox3.Text = Dr["shenasname"].ToString();
textBox4.Text = Dr["birthday"].ToString();
textBox5.Text = Dr["fathername"].ToString();
textBox6.Text = Dr["fatherjob"].ToString();
textBox7.Text = Dr["tahsilatepedar"].ToString();
textBox8.Text = Dr["mothername"].ToString();
textBox9.Text = Dr["tahsilatemadar"].ToString();
textBox10.Text = Dr["motherjob"].ToString();
textBox11.Text = Dr["payeye_sabtenami"].ToString();
textBox12.Text = Dr["address"].ToString();
sqlConnection1.Close();
id = 0;
}
catch
{
sqlDataAdapter1.SelectCommand.Parameters.Clear();
sqlConnection1.Close();
MessageBox.Show("شناسه مورد نظر یافت نشد", "هشدار!");
textBox13.Text = "";
}
}
private void button2_Click(object sender, EventArgs e)
{
int id = int.Parse(textBox13.Text);
sqlDataAdapter1.UpdateCommand.Connection = sqlConnection1;
sqlDataAdapter1.UpdateCommand.CommandText = "update student set name=@name,family = @family,shenasname=@shenasname,birthday=@birthday,fathername=@fathername,fatherjob=@fatherjob,tahsilatepedar=@tahsilatepedar,mothername=@mothername,tahsilatemadar=@tahsilatemadar,motherjob=@motherjob,payeye_sabtenami=@payeye_sabtenami,address=@address where id = @id";
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@name", textBox1.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@family", textBox2.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@shenasname", int.Parse(textBox3.Text.Trim()));
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@birthday", textBox4.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@fathername", textBox5.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@fatherjob", textBox6.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@tahsilatepedar", textBox7.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@mothername", textBox8.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@tahsilatemadar", textBox9.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@motherjob", textBox10.Text.Trim());
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@payeye_sabtenami", int.Parse(textBox11.Text.Trim()));
sqlDataAdapter1.UpdateCommand.Parameters.AddWithValue("@address", textBox12.Text.Trim());
if (MessageBox.Show("ایا از تغییرات مطمئنید", "!هشدار", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
sqlConnection1.Open();
sqlDataAdapter1.UpdateCommand.ExecuteNonQuery();
sqlDataAdapter1.UpdateCommand.Parameters.Clear();
sqlConnection1.Close();
}
MessageBox.Show("اطلاعات با موفقیت تغییر کرد");
}
}
}
از خط
sqlDataAdapter1.UpdateCommand.ExecuteNonQuery();
ارور میگیره و خطای زیر رو میده
Must declare the scalar variable "@id".
مشکل از چیه؟