PDA

View Full Version : ثبت کد گروه به جای نام آن در دستور Update



aliramazani
جمعه 08 اردیبهشت 1396, 23:35 عصر
ببینید برای آپدیت اطلاعات یک فیلد از جدول به شکل زیر استفاده می کنیم:

try
{
conn.Open();
string updateString = @"update dailyReport_tbl
set CategoryName = 'Other'
where CategoryName = 'Miscellaneous'";
SqlCommand cmd = new SqlCommand(updateString);
cmd.Connection = conn;
cmd.ExecuteNonQuery();
}
finally
{
if (conn != null)
{
conn.Close();
}
}
اسم فیلد CategoryName هستش که من نمیخوام از اسم فیلد استفاده کنم و به جاش میخوام شماره فیلد قرار داده بشه مثلا فیلد 1 یا دو (چون توی یک حلقه فور باید فیلد i ام مقدار دهی بشه)

اگر بشه stored procedures هم نوشت که عالیه

Mahmoud.Afrad
شنبه 09 اردیبهشت 1396, 00:07 صبح
یک جدول برای Category نیاز دارید شامل نام و کد.
در جدول dailyReport_tbl به جای CategoryName بایست ستونی همنوع با ستون کد در جدول Category به عنوان کلید خارجی داشته باشید. در زمان آپدیت، کد Category را ست کنید.

aliramazani
شنبه 09 اردیبهشت 1396, 09:07 صبح
نه اینجور نه. من جدولم سی تا فیلد داره و یه جدول temp هستش که توی شرایطی خاص موقتا اطلاعات ریخته میشه داخل اون. منتها توی حلقه فور کام حلقه باید شماره ستون فیلد جدول باشه. یعنی اگه گام حلقه 10 بود بابد فیلد دهم مقدار دهی بشه.

Mahmoud Zaad
شنبه 09 اردیبهشت 1396, 10:25 صبح
سلام
شما می تونید همین کاری که آقای افراد گفتن رو توی یه دیتاتیبل توی برنامه ایجاد کنید. دیتاتیبل باید دو تا ستون id و name داشته باشه. id همون شماره های 1 تا 30 هست و name هم اسم فیلدهای دیتابیس. بعد حلقه رو بر اساس ردیف های دیتاتیبل تشکیل بدید.

DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");

dt.Rows.Add("1", "col1");
dt.Rows.Add("2", "col2");
dt.Rows.Add("3", "col3");
// . . .

for (int i = 0; i < dt.Rows.Count; i++)
{
//Update Code
MessageBox.Show(dt.Rows[i]["name"].ToString());
}