PDA

View Full Version : پر کردن همزمان چند رکورد در DB



montazer313
چهارشنبه 09 اردیبهشت 1394, 19:16 عصر
با سلام و احترام خدمت دوستان گرامی

من می خوام در فرمی اطلاعات فردی 5 عضو را به صورت همزمان وارد کنم(شماره عضویت، نام و نام خانوادگی،نام پدر،تاریخ عضویت) برای ثبت در پایگاه داده سعی دارم از textbox ها به صورت آرایه استفاده کرده و در یک حلقه for اطلاعات textbox ها را در فیلدهای یک رکورد وارد کنم و در حلقه این کار 5 بار انجام شود. اما با textbox هایی که به صورت آرایه نوشتم مشکل داره برنامه و خطی که قرمز شده در کد زیر، چنین errorی میده: Object reference not set to an instance of an object.
کد من به این صورته:


Register n = new Register();
var i = 0;

TextBox[] TxtMID = new TextBox[5];
TextBox[] TxtName = new TextBox[5];
TextBox[] TxtFName = new TextBox[5];
TextBox[] TxtDate = new TextBox[5];
TextBox[] TxtDescript = new TextBox[5];

for (i = 1; i < 6; i++)
{
n.ID = Int32.Parse(TxtMID[i].Text);
n.Name = TxtName[i].Text;
n.FaderName = TxtFName[i].Text;
n.RegDate = TxtDate[i].Text;
n.Description = TxtDescript[i].Text;
}

db.Registers.AddObject(n);
db.SaveChanges();




میشه لطفا بفرمایید راه انجام این کار به چه شکله ؟

با تشکر و سپاس

aliasghar2
چهارشنبه 09 اردیبهشت 1394, 22:49 عصر
سلام
من فک میکنم روشت منطقش اشتباهه
یه سوال مقدار این تکست باکساکجا گرفته شده ؟ هیچ جا
یه روش ساده پیشنهاد میکنم
شما باید یه پنل داشته باشد و توش پنجتا پنل دیگه بزارید بعد به ازاری هر نفر توی این پنل ها کنترل قرار بدید
و وقتی که دکمه ثبت زده شد با دستور for کنترل هایه داخل پنل ها رو بخونید و مقدار اون رو بگیرید و بعد دخیره کنید

http://barnamenevis
چهارشنبه 09 اردیبهشت 1394, 23:04 عصر
از کد زیر استفاده کنید



List<TextBox> textBoxList = new List<TextBox>();


//Example insert method
public void InsertTextBox(TextBox tb)
{
textBoxList.Add(tb);
}


//Example contains method
public bool CheckIfTextBoxExists(TextBox tb)
{
if (textBoxList.Contains(tb))
return true;
else
return false;


یا


var arr = new TextBox[10];


for (var i = 0; i < 10; i++)
{
var tbox = new TextBox();


// tbox.Text = i.ToString();


// Other properties sets for tbox


this.Controls.Add(tbox);
arr[i] = tbox;
}

montazer313
جمعه 11 اردیبهشت 1394, 12:16 عصر
از کد زیر استفاده کنید



List<TextBox> textBoxList = new List<TextBox>();


//Example insert method
public void InsertTextBox(TextBox tb)
{
textBoxList.Add(tb);
}


//Example contains method
public bool CheckIfTextBoxExists(TextBox tb)
{
if (textBoxList.Contains(tb))
return true;
else
return false;


یا


var arr = new TextBox[10];


for (var i = 0; i < 10; i++)
{
var tbox = new TextBox();


// tbox.Text = i.ToString();


// Other properties sets for tbox


this.Controls.Add(tbox);
arr[i] = tbox;
}


سلام
خیلی ممنون از راهنمایی تون
میشه لطف کنید در مورد روش دوم توضیح بدین؟
منظورتون اینه که در یک حلقه مقدار textbox روی فرم را به عناصر آرایه وارد کنیم و بعد این مقدار را در جدول پایگاه داده ثبت کنیم؟
با تشکر