PDA

View Full Version : انتقال متغیر به database اکسپرس



mehdi0020
چهارشنبه 08 اردیبهشت 1395, 02:20 صبح
سلام
لطفا تو انتقال یک متغیر به دیتابیس اکسپرس منو راهنمایی کنید

rezashaban
چهارشنبه 08 اردیبهشت 1395, 02:51 صبح
سلام دوست من میشه بهتر و بیشتر توضبح بدی میخوای چیکار کنی؟

mehdi0020
چهارشنبه 08 اردیبهشت 1395, 02:55 صبح
سلام دوست من میشه بهتر و بیشتر توضبح بدی میخوای چیکار کنی؟
یک متغیر دارم مثلا به اسم x میخواهم تو دیتابیسم ذخیرش کنم

rezashaban
چهارشنبه 08 اردیبهشت 1395, 02:59 صبح
خب جدول داری؟
با دیتابیس ارتباط برقرار کردی؟
تا کجای کار رفتی و به مشکل خوردی؟
از چه کدی استفاده کردی و کجاش رو خطا داری؟

mehdi0020
چهارشنبه 08 اردیبهشت 1395, 03:07 صبح
خب جدول داری؟
با دیتابیس ارتباط برقرار کردی؟
تا کجای کار رفتی و به مشکل خوردی؟
از چه کدی استفاده کردی و کجاش رو خطا داری؟
قبلا از دیتا گرید استفاده میکردم ولی یه جای برنامم میخوام از دیتا گرید بخونم تو چند مرحله بررسی کنم و نحایتا اطلاعات تو متغیر هامو بریزم تو دیتابیسم


qlConnection con = new SqlConnection(connection);
SqlCommand command = new SqlCommand();
command.Connection = con;
command.CommandText = "insert into [tb6120](ACREF_COD_REFAREA_ACREF,NAM_ACTVY_PA,LKP_COD_STA_ ACTVY,NAM_ACTVY,DAT_EXE_OPERS,PCN_PGSEX_OPERS,DATE _STA_MSTCH2" +
"values(@ACREF_COD_REFAREA_ACREF,@NAM_ACTVY_PA,@LKP _COD_STA_ACTVY,@NAM_ACTVY,@DAT_EXE_OPERS,@PCN_PGSE X_OPERS,@DATE_STA_MSTCH2)";
command.Parameters.Add(new SqlParameter("@ACREF_COD_REFAREA_ACREF", SqlDbType.NChar));
command.Parameters.Add(new SqlParameter("@NAM_ACTVY_PA", SqlDbType.NChar));
command.Parameters.Add(new SqlParameter("@LKP_COD_STA_ACTVY", SqlDbType.NChar));
command.Parameters.Add(new SqlParameter("@NAM_ACTVY", SqlDbType.Int));
command.Parameters.Add(new SqlParameter("@DAT_EXE_OPERS", SqlDbType.NChar));
command.Parameters.Add(new SqlParameter("@PCN_PGSEX_OPERS", SqlDbType.Int));
command.Parameters.Add(new SqlParameter("@DATE_STA_MSTCH2", SqlDbType.NChar));
con.Open();
string chekemg, chek, ACREF_COD_REFAREA_ACREF, NAM_ACTVY_PA, LKP_COD_STA_ACTVY, NAM_ACTVY, DAT_EXE_OPERS, PCN_PGSEX_OPERS, DATE_STA_MSTCH2, DES_COD_STA_ACTVY_PA;
int x = 0;
foreach (DataGridViewRow row in dataGridView2.Rows)
{
if (!row.IsNewRow)
{
chekemg = dataGridView2.Rows[x].Cells[14].Value.ToString();
chek = chekemg.Substring(0, 3);
if (chek == "EMG")
continue;

chek = dataGridView2.Rows[x].Cells[0].Value.ToString();
if(chek!="")
ACREF_COD_REFAREA_ACREF = dataGridView2.Rows[x].Cells[0].Value.ToString();

chek = dataGridView2.Rows[x].Cells[14].Value.ToString();
if (chek != "")
NAM_ACTVY_PA = dataGridView2.Rows[x].Cells[14].Value.ToString();

chek = dataGridView2.Rows[x].Cells[16].Value.ToString();
if (chek != "")
LKP_COD_STA_ACTVY = dataGridView2.Rows[x].Cells[16].Value.ToString();

chek=dataGridView2.Rows[x].Cells[30].Value.ToString();
if (chek != "")
NAM_ACTVY = dataGridView2.Rows[x].Cells[30].Value.ToString();

chek = dataGridView2.Rows[x].Cells[44].Value.ToString();
if (chek != "")
DAT_EXE_OPERS = dataGridView2.Rows[x].Cells[44].Value.ToString();

chek = dataGridView2.Rows[x].Cells[47].Value.ToString();
if (chek != "")
PCN_PGSEX_OPERS = dataGridView2.Rows[x].Cells[47].Value.ToString();

chek = dataGridView2.Rows[x].Cells[90].Value.ToString();
if (chek != "")
DATE_STA_MSTCH2=dataGridView2.Rows[x].Cells[90].Value.ToString();

chek = dataGridView2.Rows[x].Cells[94].Value.ToString();
if (chek != "")
DES_COD_STA_ACTVY_PA = dataGridView2.Rows[x].Cells[94].Value.ToString();


command.Parameters.AddWithValue("@ACREF_COD_REFAREA_ACREF", ACREF_COD_REFAREA_ACREF);
command.Parameters.AddWithValue("@NAM_ACTVY_PA", NAM_ACTVY_PA);
command.Parameters.AddWithValue("@LKP_COD_STA_ACTVY", LKP_COD_STA_ACTVY);
command.Parameters.AddWithValue("@NAM_ACTVY", int.Parse(NAM_ACTVY));
command.Parameters.AddWithValue("@DAT_EXE_OPERS", DAT_EXE_OPERS);
command.Parameters.AddWithValue("@PCN_PGSEX_OPERS", int.Parse(PCN_PGSEX_OPERS));
command.Parameters.AddWithValue("@DATE_STA_MSTCH2", DATE_STA_MSTCH2);


x++;
}
}
MessageBox.Show("اطلاعات به طور کامل ثبت شد");
}

rezashaban
چهارشنبه 08 اردیبهشت 1395, 03:17 صبح
آیا اطلاعات داخل گریدت تغییر میکنن که میخوای محاسبه کنی و بعد داخل دیتابیس ذخیره کنی؟
اگر فقط داده ها رو میخونی و بدون تغییر اونها میخوای محاسبه رو انجام بدی و بعد ذخیره کنی پس بهتر اینه که سمت خود اسکیوال این کار رو با یک Stored Procedure یا Function انجام بدی وگر نه هم که میتونی(با روشی که کار کردی) یک دستور insert ساده اسکیوال بسازی و بعد اطلاعات رو داخل جدولت ذخیره کنی


string command = "insert into tableName(field1, field2) values("+x+","+y+")";
..
..