دسته بندی ها
05:33 1401/05/17

ذخیره اطلاعات آرایه در Sql Server توسط حلقه for در سی شارپ

مشخصات سوال کننده :
کاربر : Radman     امتیاز کاربر : 169     رتبه کاربر : 9
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4249
هوش مصنوعی

پاسخ هوش مصنوعی

برای ذخیره سازی اطلاعات آرایه در DataTable با استفاده از یک حلقه for، شما باید برای هر رکورد جدید یک ردیف جدید در DataTable ایجاد کنید. می توانید کد خود را به شکل زیر تغییر دهید:


SmsWebService.ReceivedMessage[] RecieveSms = ws.GetReceivedMessages(username, pass, fromdate, Todate, ref message);

DataTable dt = new DataTable();
dt.Columns.Add("MobileNo");
dt.Columns.Add("LineNumber");
dt.Columns.Add("ReceiveDateTime");
dt.Columns.Add("SMSMessageBody");

for (int r = 0; r < RecieveSms.Length; r++)
{
    DataRow dr = dt.NewRow();
    dr["MobileNo"] = RecieveSms[r].MobileNo;
    dr["ReceiveDateTime"] = RecieveSms[r].ReceiveDateTime;
    dr["SMSMessageBody"] = RecieveSms[r].SMSMessageBody;
    dt.Rows.Add(dr);
}

در این کد، برای هر آیتم در آرایه RecieveSms یک ردیف جدید در DataTable ایجاد شده و مقادیر مناسب به آن نسبت داده شده است. در نهایت، ردیف به DataTable اضافه می شود.

این کار به شما این امکان را می دهد تا تمام رکوردها را به درستی در DataTable وارد کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 12:18 1401/05/17

در حلقه for برای اینکه اطلاعات با هر بار چرخش حلقه جلو بره باید از اندیس حلقه استفاده کنید. در کدی که شما در حلقه نوشتید :

dt.Rows[dt.Rows.Count - 1]["MobileNo"] = RecieveSms[0].MobileNo;

متغیر RecieveSms در واقع همون آرایه شما هست و برای اینکه بتونید در بین سلولهای این آرایه حرکت کنید باید اندیس حلقه رو بهش بدید نه عدد ثابت 0

کد شما مشابه زیر باید باشه :

for (int r = 0; r < RecieveSms.Length; r++)
{
   dt.Rows[dt.Rows.Count - 1]["MobileNo"] = RecieveSms[r].MobileNo;
   dt.Rows[dt.Rows.Count - 1]["ReceiveDateTime"] = RecieveSms[r].ReceiveDateTime;
   dt.Rows[dt.Rows.Count - 1]["SMSMessageBody"] = RecieveSms[r].SMSMessageBody;
}
به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
1 نظر
Radman : ممنون مهندس جان مثل همیشه مشکلم برطرف شد .ممنون از سایت خوبتون

امتیاز کاربر : 169   رتبه کاربر : 9   تاریخ ثبت : 09:44 1401/05/17
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود