PDA

View Full Version : ایجاد Table در دیتابیس در زمان اجرای برنامه



va2012
جمعه 18 فروردین 1391, 16:38 عصر
سلام.

دوستان من یک برنامه دارم که به یک دیتابیس Access متصل هست و می خوام از درون برنامه حین اجرا با کلیک روی هر Button یک Table در دیتابیس ایجاد بشه و تعداد ستون ها و نام هر کدام هم به تعداد وارد شده در چند TextBox که برای این منظور قرار داده شده تنظیم بشه.بعد محتویات این Table هم داخل یک DataGridView که بر روی فرم قرار داره نمایش داده بشه.

مثلا 10 تا Button روی یک فرم دارم که می خوام با کلیک روی هر کدام ابتدا یک Table با مشخصات داده شده توسط کاربر ساخته بشه و بعد محتویات آن داخل یک DataGridView بر روی فرم نمایش داده بشه.:متفکر:

ممنون میشم راهنمایی کنید.:قلب:

Sirwan Afifi
جمعه 18 فروردین 1391, 23:32 عصر
خوب کاری نداره از همون دستورات Oledb استفاده کن فقط رشته SQLت رو Create Table قرار بده.

Sirwan Afifi
جمعه 18 فروردین 1391, 23:40 عصر
به این صورت :

OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\db.mdb");
string strSql = @"CREATE TABLE test
(
stName Text,
stFamily Text
)";
OleDbCommand cmd = new OleDbCommand(strSql,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter("select *from test",con);
da.Fill(dt);
dataGridView1.DataSource = dt;

va2012
شنبه 19 فروردین 1391, 10:28 صبح
دوست عزیز خیلی ممنون از لطفت. کدی که دادی رو امتحان کردم درست شد.حالا می خوام بدونم حداکثر چند تا Table توی یک دیتابیس اکسس میشه ایجاد کرد؟ آیا اگر بیشتر از این مقدار ایجاد بشه برنامه هنگ میکنه؟

Sirwan Afifi
شنبه 19 فروردین 1391, 10:33 صبح
اینجا (http://office.microsoft.com/en-us/access-help/access-2007-specifications-HA010030739.aspx)آمار دقیقی برای Access 2007 وجود داره.

Sirwan Afifi
شنبه 19 فروردین 1391, 10:34 صبح
اینجا (http://office.microsoft.com/en-us/access-help/access-specifications-HP005186808.aspx)هم آمار برای Access 2003

Sirwan Afifi
شنبه 19 فروردین 1391, 10:35 صبح
اینجا (http://office.microsoft.com/en-us/access-help/access-2010-specifications-HA010341462.aspx)هم برای Access 2010

va2012
شنبه 19 فروردین 1391, 11:22 صبح
ممنون از اینکه زحمت میکشی راهنمایی می کنی. اما یک سوال دیگه ای که به ذهنم می رسه اینکه آیا ما موقع اجرای نرم افزار هر نوع کنترلی رو که بخوایم می تونیم ایجاد کنیم؟ مثلا من یک کنترل TabStip از کامپوننت Telerik روی فرم قرار دادم و حالا می خوام با هر بار کلیک روی یک Button یک Tab به اون اضافه بشه ولی کدش رو نمی دونم.

Sirwan Afifi
شنبه 19 فروردین 1391, 12:49 عصر
خواهش میکنم،بله شما می تونید در RunTime هر کنترلی رو بخواید به فرمتون اضافه کنید،من با کامپوننت تلریک کار نکردم ولی برای اضافه کردن Tab جدید برای کنترل TabStrip خود VisualStudio به این صورت می تونید انجام بدید :

string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
TabPage myTabPage = new TabPage(title);
tabControl1.TabPages.Add(myTabPage);

va2012
شنبه 19 فروردین 1391, 14:51 عصر
سلام. چند تا سوال دیگه :

1 - چطور میشه یک متغیر رو برای نام Table قرار داد ؟ منظورم اینه که توی اون رشته SQL که شما دادین نام جدول به صورت پیش فرض هست و اگر دوبار روی Button کلیک بشه دو تا جدول هم نام میشن و برنامه ERROR میده. حالا من میخوام با هر بار کلیک روی یک Button یک جدول با نام (Table (i ساخته بشه و هر بار که روی این Button کلیک میشه یک واحد به این اندیس اضافه بشه و یک جدول دیگه با نام و اندیس جدید ساخته بشه. دقیقا مثل همون کد ایجاد Tab جدید که نوشتین. ولی نمیدونم چطور باید یک متغیر رو وارد این کد SQL کرد. می بخشید من زیاد به دستورات SQL آشنا نیستم.

2- چطور میشه تعداد ستون های هر جدول رو از کاربر دریافت کرد؟

3- چطور میشه روی یک Tab Control با کلیک روی یک قسمت مشخص متن Title رو وارد کرد و یک Tab جدید با این نام درست بشه مثل نرم افزار 2010 One Note ؟ و با دو بارکلیک کردن روی نام Tab نام اون رو ویرایش و ذخیره کرد ؟

va2012
دوشنبه 21 فروردین 1391, 20:07 عصر
دوستان کسی نیست راهنمایی کنه؟ خیلی وقته منتظرم!!! :عصبانی++: