PDA

View Full Version : سوال: چطور میشه table و columbe توسط برنامه در دیتابیس ساخته بشه؟



ho2o2oo
پنج شنبه 18 آبان 1391, 11:35 صبح
با سلام به تمامی دوستان من می خواستم بدونم چطور می شه که طوری کد زد که در خواستی رو برنامه به دیتابیس می فرسته چک کنه ببینه اگر table مورد نظر نبود اون رو بسازه و کار بدون مشکل ادامه پیدا کنه ؟ و اروری نده ؟

maythammsp2000
پنج شنبه 18 آبان 1391, 12:20 عصر
اگه دستورات sql رو به طور دقيق بخوني ميتوني اين كارو انجام.زيادم سخت نيست

mansourm
پنج شنبه 18 آبان 1391, 23:15 عصر
با سلام خدمت دوستان اینم جواب شما دوست عزیز




public void Create(string TName, string ConString)
{
try
{
using (SqlCommand cmd = new SqlCommand("CREATE TABLE [dbo].['" + TName + "']("
+ "[ID] [int] IDENTITY(1,1) NOT NULL,"
+ "[DateTime] [date] NOT NULL,"
+ "[BarCode] [nvarchar](max) NOT NULL,"
+ "[ArtNumber] [nvarchar](max) NOT NULL,"
+ "[ProductName] [nvarchar](50) NOT NULL,"
+ "[Quantity] [int] NOT NULL,"
+ "[SelfPrice] [decimal](18, 2) NOT NULL,"
+ "[Price] [decimal](18, 2) NOT NULL,"
+ "[Disccount] [int] NULL,"
+ "[Comment] [nvarchar](max) NULL,"
+ "CONSTRAINT ['pk_" + TName + "'] PRIMARY KEY CLUSTERED "
+ "("
+ "[ID] ASC"
+ ")WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]"
+ ") ON [PRIMARY]", new SqlConnection(ConString)))
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message)
throw;
}
}



اگه بازم سوالی بود در خدمتتون هستم

ho2o2oo
جمعه 19 آبان 1391, 09:13 صبح
اقا می شه در یک قسمت از برنامه به کارش ببرین که بهتر بفهمم . اول دیتابیس رو چک کنه اگر بود که هیچ اگر نبود بسازه و بعد دیتای مربوط رو ذخیره کنه . ممنون می شم مرسی .

mansourm
جمعه 19 آبان 1391, 14:17 عصر
اینم فراخوانی در رویداد کلیک یک button
البته دوست عزیز در تابع بالا اگر table موجود باشد به شما پیغام را نمایش می دهد و برنامه ادامه پیدا می کند یعنی برای مثال فوق شمافقط باید
یک button برروی فرم بگذارید و کد زیر را وارد کنید



private void button1_Click(object sender, EventArgs e)
{
// فراخوانی
Create(string نام جدول, string کانکشت استرینگ);
}






private void button1_Click(object sender, EventArgs e)
{
//چک کردن اینکه جدول وجود دارد یا خیر
ExecuteQuery("IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA <> NULL AND TABLE_NAME = 'RECORDS')) BEGIN INSERT INTO RECORDS (ID) VALUES ('" + textBox1.Text + "')");
}