PDA

View Full Version : سوال: ساخت table در دیتا بیس توسط خود کاربر



lion361
یک شنبه 10 فروردین 1393, 17:04 عصر
باسلام
من میخوام خود کاربر وقتی تو یک texbox اسم تیبل رو میزنه اون تیبل ساخته بشه.
مثلا:نام
دقت کنید خود تیبل نه اطلاعاتش
ممنون میشم کمک کنید

fakhravari
یک شنبه 10 فروردین 1393, 17:19 عصر
دستورات ساخت دیتابیس را با مقدار textbox درون یک رشته جمع کنید بعد اونو در یک sql comand اجرا کنید

lion361
یک شنبه 10 فروردین 1393, 17:20 عصر
ممنون میشم کامل تو ضیح بدید
(ابتدایی)

Mousavmousab
یک شنبه 10 فروردین 1393, 18:17 عصر
نیاز به نوشتن ما نیست یه سرچ کوچیک کنی هزار تا از این مورد ها را گیر می آری

lion361
یک شنبه 10 فروردین 1393, 18:30 عصر
نیاز به نوشتن ما نیست یه سرچ کوچیک کنی هزار تا از این مورد ها را گیر می آری
مسئله اینجاست بگو چی سرچ کنم دوست عزیز
در ضمن ممنون از شما

sohil_ww
یک شنبه 10 فروردین 1393, 19:19 عصر
دقت کنید خود تیبل نه اطلاعاتش

منظورت از این چیه ؟

اگه می خوای خود تیبل استفاده کنه برای مثال Ado می شه
sqlcommend cmd=new sqlcommend("create table soheil (name typename ....),your connection String"

Mojtaba.Shateri
یک شنبه 10 فروردین 1393, 19:38 عصر
اگه میخوای فقط نام table رو کاربر تعیین کنه و بعد بسازه میتونی از کد زیر استفاده کنی :

using (SqlConnection con = new SqlConnection(conStr))
{
try
{
con.Open();

using (SqlCommand command = new SqlCommand("CREATE TABLE "+
txtTableName.Text +" (First_Name char(50),Last_Name char(50),Address char(50),City char(50));", con))
{
command.ExecuteNonQuery();
}

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
متغیر conStr هم مقدار connection String داخلش بزار.
اما اگه میخوای کاربر بتونه فیلدها و نوعشونو خودش تعیین کنه قضیه فرق داره. اونموقع باید اطلاعات هر فیلد مانند نام ، نوع ، کلید بودن ، Description و... رو در از کاربر بگیری و رشته رو بسازی. برا ساختشم میتونی از String.Format و String.Concat استفاده کنی. امیدوارم کارت حل بشه:چشمک:

lion361
یک شنبه 10 فروردین 1393, 20:04 عصر
خیلییی ممنون دوست عزیز ولی یک پرسش این کد رو باید تو باتن قرار بدم یا جای دیگه
ممنون میشم یگی کمکم کن
خیلی فوری

Mojtaba.Shateri
یک شنبه 10 فروردین 1393, 20:26 عصر
خیلییی ممنون دوست عزیز ولی یک پرسش این کد رو باید تو باتن قرار بدم یا جای دیگه
ممنون میشم یگی کمکم کن
خیلی فوری
بزار تو Button

lion361
یک شنبه 10 فروردین 1393, 20:33 عصر
بزار تو Button

انشاالله خیر ببینی یک زحمت دیگه
بگید به جای عبارات بالا چی باید بزارم
مثلا(اسم دیتا بیس و...)

Mojtaba.Shateri
یک شنبه 10 فروردین 1393, 23:07 عصر
منظورت فکر کنم Connection String هستش. string conStr = "Data Source=myServerAddress;Initial Catalog=myDataBase;
Integrated Security=SSPI;
User ID=myDomain\myUsername;Password=myPassword;";

using (SqlConnection con = new SqlConnection(conStr))
{
try
{
con.Open();

using (SqlCommand command = new SqlCommand("CREATE TABLE "+
txtTableName.Text +" (First_Name char(50),Last_Name char(50),Address char(50),City char(50));", con))
{
command.ExecuteNonQuery();
}

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

نکته اینکه اگه Windows Authentication با دیتابیست کار میکنی به جای خط اول کد اینو بزار :
string conStr = "Data Source=myServerAddress;Initial Catalog=myDataBase;
Integrated Security=true;";
فقط به جای myServerAddress و myDataBase و myUsername و myPassword مقادیر خودتو بزار.