PDA

View Full Version : ویرایش یک سطر از پایگاه داده ... (راهنمایی)



man_iran
سه شنبه 20 شهریور 1386, 09:47 صبح
من اطلاعاتی را به اکسس ارسال کردم و برای ویرایش سطر مورد نظر را به چندین تکست باکس ارسال می کنم حال بعد از اینکه ویرایش کردم چطور باید به اکسس ارسال کنم که به جای همون سطر قبلی بشه ؟
لطف راهنمایی کنید...
مرسی

PC2st
سه شنبه 20 شهریور 1386, 10:24 صبح
من اطلاعاتی را به اکسس ارسال کردم و برای ویرایش سطر مورد نظر را به چندین تکست باکس ارسال می کنم
به چندین تکست باکس ارسال میکنید یا اینکه تکست باکسها رو به اطلاعات متصل میکنید؟
بهتر است که تکست باکسها رو به اطلاعات متصل کنید و از متد Update استفاده کنید.

man_iran
سه شنبه 20 شهریور 1386, 10:45 صبح
به چندین تکست باکس ارسال میکنید یا اینکه تکست باکسها رو به اطلاعات متصل میکنید؟
بهتر است که تکست باکسها رو به اطلاعات متصل کنید و از متد Update استفاده کنید.
چطوری ؟
اگر ممکنه به صورت کدنویسی راهنمایی کنید...
مرسی

PC2st
سه شنبه 20 شهریور 1386, 12:07 عصر
برای متصل کردن textBox ها به اطلاعات، بصورت زیر عمل کنید:

اگر dataGridView1 رو به شکل زیر به یک منبع داده، متصل کرده اید:


this.dataGridView1.DataSource = this.dataSet1;
this.dataGridView1.DataMember = "Table1";


کد زیر textBox1 رو به فیلد FirstName از جدول Table1 به منبع داده dataSet1 متصل میکنه:


this.textBox1.DataBindings.Add("Text", this.dataSet1, "Table1.FirstName");
//یا به این شکل بنویسید
this.textBox1.DataBindings.Add("Text", this.dataSet1.Tables["Table1"], "FirstName");

man_iran
سه شنبه 20 شهریور 1386, 12:49 عصر
مرسی از راهنماییتون...
ولی من اطلاعات را به صورت یک حلقه و تک تک به دیتاگردویو ارسال می کنم چون ممکنه بعضی وقت ها تمام اطلاعات را لازم نداشته باشم و اطلاعات خاصی که جستجو می شن نمایش داده می شن.
بعد از اینکه اطلاعات در دیتاگردویو ارسال می شن بعد از سلکت کردن آنها به تکست باکس ارسال می شن.
حال با روشی که شما گفتید می توان این کار را کرد یا نه ؟

PC2st
سه شنبه 20 شهریور 1386, 14:50 عصر
اگر اطلاعات رو بصورت تک تک به دیتاگریدویو اضافه کنید، فکر کنم سرعت کمتری داره نسبت به وقتی که دیتاگریدویو رو به اطلاعات متصل کرده اید. متونید آنرا به اطلاعات (منبع داده) متصل کنید و سپس عملیات فیلتر کردن رو انجام بدید. بهرحال شاید با توجه به نیازتون این کار رو انجام نمیدید.



حال با روشی که شما گفتید می توان این کار را کرد یا نه ؟
منظورتون چه کاری است؟ منظورتون مشخص کردن اطلاعاتی است که میخواید در دیتاگریدویو نمایش داده شوند!؟ اگر منظورتون این باشه، از خاصیت DefaultView روی منبع داده، استفاده کنید. مثلا:


this.dataSet1.Tables[0].DefaultView = "Field1 LIKE 'Al%'";

man_iran
سه شنبه 20 شهریور 1386, 15:45 عصر
نه منظورم این نبود ...
ببینید من می تونم اطلاعاتی که می خوام ویرایش کنم را به تکست باکس ارسال کنم همچنین کدی نوشتم که معین کند که این اطلاعات مربوط به چندمین سطر از اکسس است حال می خوام اطلاعات ویرایش شده را از تکست باکس به ان سطر مشخص شده ارسال کنم تا جایگزین اطلاعات قبلی شوند.
کدی می خواستم که بتونه این کار را بکنه ...
همچنین در مورد گفته شما که چرا دیتاگردویو را به اکسس متصل نمی کنم (اطلاعات را مستقیما ارسال کنم) بگم که : چون موقع ای که این کار را می کنم نام ستون دیتاگردویو من برابر با نام اکسس من می شن یعنی چون در اکسس نام ستون ها را انگلیسی نوشتم در دیتاگردویو هم به این شکل می شوند. که من نمی خوام این طوری باشند. اگر راه حلی برای رفع این مشکل دارید بفرمایید...
راستی حالا که بحث در مورد دیتاگردویو است می شه بگید چطور می شه یکی از خونه های آن را راست چین یا چپ چین کنم یعنی کل دیتا گردویو راست چین باشد ولی مثلا اطلاعات خانه سوم آن راست چین باشد.
مرسی

PC2st
سه شنبه 20 شهریور 1386, 18:30 عصر
ببینید من می تونم اطلاعاتی که می خوام ویرایش کنم را به تکست باکس ارسال کنم همچنین کدی نوشتم که معین کند که این اطلاعات مربوط به چندمین سطر از اکسس است حال می خوام اطلاعات ویرایش شده را از تکست باکس به ان سطر مشخص شده ارسال کنم تا جایگزین اطلاعات قبلی شوند.
اگر دیتاگریدویو و textBox ها رو به یک منبع واحد متصل کنید، هر رکوردی که از دیتاگریدویو انتخاب شود، فیلدهایش در textBix ها به نمایش در می آید. و با تغییر محتویات textBox ها، پس از اینکه هر textBox فوکوس خودش را از دست داد، آن فیلد در دیتاگریدویو هم تغییر میکند. دیگه همه چیز راحت خواهد بود و در نهایت، از متد Update برای انجام تغییرات استفاده میکنیم. نمونه برنامه ای در مورد استفاده کردن از متد Update در قسمت نمونه برنامه های C# هست.

در مورد تغییر نام ستونها، دو راه دارید، یکی استفاده از ColumnMapping و دیگری اینکه خودتون عنوان ستونها رو تغییر بدید. مثلا برای تغییر نام ستون FirstName به "اسم" مثل زیر مینویسیم:


this.dataGridView1.Columns["FirstName"].HeaderText = "اسم";


برای راست چین یا چپ چین کردن یک ستون خاص، مثلا اگر نام ستون DDD باشه:


this.dataGridView1.Columns["DDD"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

کاوشگر
سه شنبه 20 شهریور 1386, 19:20 عصر
سلام
یه سوال دارم
چرا از روش های ران تایم استفاده نمی کنی که هم امنیت بیشتری داره و هم خطای کمتری ایجاد می کنه ؟
ضمن اینکه با استفاده از این روش می تونی از فرمانهای Sql استفاده کنی که انعطاف برنامه رو بالا می بره و قدرت این رو میده که هر کجا که خواستی هر قسمتی رو که میخوای به راحتی تغییر بدی .

man_iran
چهارشنبه 21 شهریور 1386, 17:35 عصر
سلام
یه سوال دارم
چرا از روش های ران تایم استفاده نمی کنی که هم امنیت بیشتری داره و هم خطای کمتری ایجاد می کنه ؟
ضمن اینکه با استفاده از این روش می تونی از فرمانهای Sql استفاده کنی که انعطاف برنامه رو بالا می بره و قدرت این رو میده که هر کجا که خواستی هر قسمتی رو که میخوای به راحتی تغییر بدی .
سلام
ممنون می شم در مورد روشی که می گید به صورت کد راهنمایی کنید چون با آن آشنایی ندارم همچنین این را هم بدونید که من از اکسس استفاده می کنم.
مرسی