با سلام به تمامی دوستان من می خواستم بدونم چطور می شه که طوری کد زد که در خواستی رو برنامه به دیتابیس می فرسته چک کنه ببینه اگر table مورد نظر نبود اون رو بسازه و کار بدون مشکل ادامه پیدا کنه ؟ و اروری نده ؟
با سلام به تمامی دوستان من می خواستم بدونم چطور می شه که طوری کد زد که در خواستی رو برنامه به دیتابیس می فرسته چک کنه ببینه اگر table مورد نظر نبود اون رو بسازه و کار بدون مشکل ادامه پیدا کنه ؟ و اروری نده ؟
اگه دستورات sql رو به طور دقيق بخوني ميتوني اين كارو انجام.زيادم سخت نيست
با سلام خدمت دوستان اینم جواب شما دوست عزیز
اگه بازم سوالی بود در خدمتتون هستم
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;
}
}
اقا می شه در یک قسمت از برنامه به کارش ببرین که بهتر بفهمم . اول دیتابیس رو چک کنه اگر بود که هیچ اگر نبود بسازه و بعد دیتای مربوط رو ذخیره کنه . ممنون می شم مرسی .
اینم فراخوانی در رویداد کلیک یک 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 + "')");
}
آخرین ویرایش به وسیله mansourm : جمعه 19 آبان 1391 در 14:40 عصر