نقل قول: مشکل در UPDATE رکورد
دوست عزیز مشکل از سمت بانک شما نیست ، #C نمیتونه مقدار خالی رو به عدد تبدیل کنه. نیازی نیست در سمت برنامه تبدیل به عدد کنه و به عنوان پارامتر بفرستید ، به همون صورت استرینگ بفرستید SQL خودش این کار رو انجام میده.
objCommand.Parameters.AddWithValue("@sn", txtSN.Text);
نقل قول: مشکل در UPDATE رکورد
متشکر دوست گرامی
به وسیله کد زیر کار اضافه کردن رکورد به بانک را انجام میدهم ولی وقتی روی هر رکوردی که هستم دکمه new را میزنم و اگر در فیلدهایی که به صورت عددی هستند کلید Tab روی کیبورد را بزنم تا از آن فیلد بگذرم عدد مربوط به رکوردی که در روی آن قبلا بودم در textbox ظاهر میشود در صورتی که من با زدن کلید Tab خواستم از دادن مقدار به آن فیلد صرف نظر کنم لطفا راهنماییم کنید
private void btnNew_Click(object sender, EventArgs e)
{
txtCode.Text = "";
txtCount.Text = "";
txtCountry.Text = "";
txtDate.Text = "";
txtDescription.Text = "";
txtManufacturer.Text = "";
txtModel.Text = "";
txtName.Text = "";
txtPrice.Text = "";
txtSN.Text = "";
}// end method btnAdd_Click
private void btnAdd_Click(object sender, EventArgs e)
{
int intPosition;
intPosition = objCurrencyManager.Position;
SqlCommand objCommand=new SqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandText = "insert into tbuy (code,name,model," +
"manufacturer,sn,country,price,count,date,descript ion)" +
"values(@code,@name,@model,@manufacturer,@sn,@coun try," +
"@price,@count,@date,@description)";
objCommand.Parameters.AddWithValue("@code",
Convert.ToInt32(txtCode.Text));
objCommand.Parameters.AddWithValue("@name", txtName.Text);
objCommand.Parameters.AddWithValue("@model", txtModel.Text);
objCommand.Parameters.AddWithValue("@manufacturer" ,
txtManufacturer.Text);
objCommand.Parameters.AddWithValue("@sn",
Convert.ToInt32(txtSN.Text));
objCommand.Parameters.AddWithValue("@country", txtCountry.Text);
objCommand.Parameters.AddWithValue("@price",
Convert.ToDecimal(txtPrice.Text));
objCommand.Parameters.AddWithValue("@count",
Convert.ToInt32(txtCount.Text));
objCommand.Parameters.AddWithValue("@date", txtDate.Text);
objCommand.Parameters.AddWithValue("@description",
txtDescription.Text);
objConnection.Open();
try
{
int i=objCommand.ExecuteNonQuery();
if (i == 1)
MessageBox.Show("اطلاعات شما با موفقیت ثبت شد");
}// end try
catch (SqlException sqlExceptionErr)
{
if (sqlExceptionErr.Number == 2627)
MessageBox.Show("اين کد قبلا ثبت شده");
else
MessageBox.Show(sqlExceptionErr.Message);
}// end catch
objConnection.Close();
FillDataSetAndView();
BindFields();
objCurrencyManager.Position = intPosition;
ShowPosition();
toolStripStatusLabel1.Text = "Record Added";
}// end btnAdd_Click
نقل قول: مشکل در UPDATE رکورد
لطفا یکی در حل این مشکل کمک کنه
نقل قول: مشکل در UPDATE رکورد
مشکل قبلی رو که کسی نگفت
لطفا یکی بگه چرا تمام فیلدها update میشن به جز فیلد code سورس مربوط به update را نیز در اول تایپیک گذاشتم
نقل قول: مشکل در UPDATE رکورد
نقل قول:
مشکل قبلی رو که کسی نگفت
آخه سوالتون واضح نیست. مشکلی که میگید ربطی به کدی که اینجا گذاشتید نداره ، احتمال داره فیلد مورد نظر روی فرم رو به جایی بایند کرده باشید و یا شرط خاصی در طراحی اون گذاشته باشید.
نقل قول:
لطفا یکی بگه چرا تمام فیلدها update میشن به جز فیلد code سورس مربوط به update را نیز در اول تایپیک گذاشتم
شرط آپدیت شما برابری Code است.
where code=@code
خب این شرط رکوردهایی رو پیدا میکنه که کد اونها با کد وارد شده مساوی باشه. در صورتی که قصد دارید کد رو هم تغییر بدید باید اضافه بر کد جدید ، کد قدیم رو هم داشته باشید و بصورت زیر این کار رو انجام بدید
Update tbuy Set Code = @NewCode
Where Code = @OldCode
به تکراری نبودن کد هم در صورت کلید اصلی بودن توجه داشته باشید.
نقل قول: مشکل در UPDATE رکورد
نقل قول:
نوشته شده توسط
Reza_Yarahmadi
آخه سوالتون واضح نیست. مشکلی که میگید ربطی به کدی که اینجا گذاشتید نداره ، احتمال داره فیلد مورد نظر روی فرم رو به جایی بایند کرده باشید و یا شرط خاصی در طراحی اون گذاشته باشید.
فکر میکنید مشکل از کد زیر باشه چه طور حلش کنم
private void BindFields()
{
txtCode.DataBindings.Clear();
txtCount.DataBindings.Clear();
txtCountry.DataBindings.Clear();
txtDate.DataBindings.Clear();
txtDescription.DataBindings.Clear();
txtManufacturer.DataBindings.Clear();
txtModel.DataBindings.Clear();
txtName.DataBindings.Clear();
txtPrice.DataBindings.Clear();
txtSN.DataBindings.Clear();
txtCode.DataBindings.Add("text", objDataView, "code");
txtCount.DataBindings.Add("text", objDataView, "count");
txtCountry.DataBindings.Add("text", objDataView, "country");
txtDate.DataBindings.Add("text", objDataView, "date");
txtDescription.DataBindings.Add("text", objDataView, "description");
txtManufacturer.DataBindings.Add("text", objDataView, "manufacturer");
txtModel.DataBindings.Add("text", objDataView, "model");
txtName.DataBindings.Add("text", objDataView, "name");
txtPrice.DataBindings.Add("text", objDataView, "price");
txtSN.DataBindings.Add("text", objDataView, "sn");
toolStripStatusLabel1.Text = "Redy";
}// end method BindFields