PDA

View Full Version : مشکل با دستور where و addwithvalu???



boysilent
چهارشنبه 03 اسفند 1390, 14:04 عصر
با سلام این قسمت برنامم مشکل داره و به where گیر میده ؟به نظرتون ewhere مشکل داره یا addwith valu??

command.CommandText = "INSERT INTO newstudent (name,kodemeli,fathername,mobile,tel,adress,father meli)values(@name,@kodemeli,@fathername,@mobile,@t el,@adress,@fathermeli)WHERE kodemeli!=@kodemeli";


command.Parameters.AddWithValue("@kodemeli", txtkodemeli.Text);

alonemm
چهارشنبه 03 اسفند 1390, 14:18 عصر
باسلام:

شما مقدار فیلد kodemeil رو کجا و با کدوم دستور Select پر کردید؟ مشکل از همینجاست.

وقتی میتونید از Where در دستور Insert استفاده کنید که با Select مقداری به فیلد های شرط داده باشید.

بهتر بگید میخواید چه عملیاتی انجام بدید تا بهتر راهنمایی کنم.

boysilent
چهارشنبه 03 اسفند 1390, 14:26 عصر
میخوام بگم اگه کد ملی داخل جدول با کدملی تکست باکس برابرنبود INSERT کن؟؟؟

alonemm
چهارشنبه 03 اسفند 1390, 14:33 عصر
راه بهتر اینکه اول شما با یک متد و قبل از انجام هر کاری مطمعن بشید که این کد ملی قبلا ثبت نشده.

پس اول بایک کوئری از اینکه این کد ملی در جدول پایگاه داده وجود داره یا نه مطمعن بشید و سپس عملیات درج رو انجام بدید و اگر وجود داشت میتونید همونجا یک پیغام خطا به کاربر بدید.


موفق باشید.

boysilent
چهارشنبه 03 اسفند 1390, 15:17 عصر
مشکل داره فقط یبار اجرا میشه؟
protected void Button2_Click(object sender, EventArgs e)
{
if (txtname.Text == "" || txtkodemeli.Text == "" || txtfathername.Text == "" || txtmobile.Text == "" || txttel.Text == "" || txtadress.Text == "" || txtfathermeli.Text == "")
{
Label1.Text = "لطفا همه فیلد ها را پر کنید".ToString();
}
else
{
SqlConnection connect = new SqlConnection("Data Source=.;Initial Catalog=school;Integrated Security=True");
SqlCommand command = new SqlCommand();
command.Connection = connect;

command.CommandText = "SELECT * FROM newstudent WHERE kodemeli=@kodemeli";
command.Parameters.AddWithValue("@kodemeli", txtkodemeli.Text);
connect.Open();
int res=command.ExecuteNonQuery();
connect.Close();
if (res < 0)
{
command.CommandText = "INSERT INTO newstudent (name,kodemeli,fathername,mobile,tel,adress,father meli,maghta)values(@name,@kodemeli,@fathername,@mo bile,@tel,@adress,@fathermeli,@maghta)";
command.Parameters.AddWithValue("@name", txtname.Text);
//command.Parameters.AddWithValue("@kodemeli", txtkodemeli.Text);
command.Parameters.AddWithValue("@fathername", txtfathername.Text);
command.Parameters.AddWithValue("@mobile", txtmobile.Text);
command.Parameters.AddWithValue("@tel", txttel.Text);
command.Parameters.AddWithValue("@adress", txtadress.Text);
command.Parameters.AddWithValue("@fathermeli", txtfathermeli.Text);
command.Parameters.AddWithValue("@maghta",DropDownList1.SelectedValue);
connect.Open();
command.ExecuteNonQuery();
connect.Close();

Label1.Text = "شبت شد".ToString();
}
else if(res>0)
Label1.Text = "دقت کنیداین شماره ملی وجود دارد!!".ToString();
}

alonemm
چهارشنبه 03 اسفند 1390, 15:48 عصر
دوست عزیز:

به شکل زیر بنویسید:

System.Data.SqlClient.SqlDataReader res;
res = cn.ExecuteReader();
if (!res.HasRows)