PDA

View Full Version : ایجاد دیتابیس در پروژه C#



sheibanizaveh
دوشنبه 05 آذر 1397, 19:43 عصر
سلام وقت
من یک پروژه نوشتم و میخوام ببرم روی سیستم مقصد نصب کنم .
حالا اگر بخوام کاری کنم که برای اولین بار لاگین بشه سیستم خودش بانک و جداولو بسازه . باید چیکار کنم ؟؟؟
ممنون

karim.mashayekhi
چهارشنبه 07 آذر 1397, 15:27 عصر
سلام. نحوه اتصال به بانک تون از طریق sqlconnection است یا entity framwork?

sheibanizaveh
پنج شنبه 08 آذر 1397, 08:22 صبح
sqlconection

karim.mashayekhi
یک شنبه 11 آذر 1397, 16:38 عصر
ببخشید که دیر جواب میدم.
میتونی دیتابیس ات رو بسازی
فقط زمانی که خواستی بسازی از دیتابیس master استفاده کن

karim.mashayekhi
یک شنبه 11 آذر 1397, 16:57 عصر
SmsPanel Ef = new SmsPanel();
string DatabaseName = Ef.Database.Connection.Database.ToString();
string conString = Ef.Database.Connection.ConnectionString.ToString() ;
string str1 = conString.Replace(DatabaseName, "Master");
co = new SqlConnection(str1);
com = new SqlCommand();
com.Connection = co;
com.CommandText = @" select name from sys.databases";
co.Open();
SqlDataReader rd = com.ExecuteReader();
foreach (var item in rd)
{
if (rd[0].ToString().ToUpper().Trim() == Ef.Database.Connection.Database.ToUpper().ToString ())
{
ExistDatabase = true;
break;
}
}
if (ExistDatabase)
{
try
{
Ef.Bots.FirstOrDefault();
Ef.Devices.FirstOrDefault();
Ef.EmpGroups.FirstOrDefault();
Ef.Employees.FirstOrDefault();
Ef.SMSEmployeeGroups.FirstOrDefault();
Ef.SMSGroups.FirstOrDefault();
Ef.SMSSenders.FirstOrDefault();
Ef.SMSSettings.FirstOrDefault();
Ef.SMSStatusSends.FirstOrDefault();
Ef.TransPools.FirstOrDefault();

}
catch (Exception exp2)
{


MessageBox.Show("دیتابیس با مدل داده ای همخوانی ندارد");
Application.Exit();
}
timerTwo.Enabled = true;
}
else
{
co.Close();
CommandExecute(@"CREATE DATABASE [" + DatabaseName + @"] IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC [" + DatabaseName + @"].[dbo].[sp_fulltext_database] @action = 'enable' end ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET ANSI_NULL_DEFAULT OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET ANSI_NULLS OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET ANSI_PADDING OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName +@"] SET ANSI_WARNINGS OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET ARITHABORT OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET AUTO_CLOSE OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET AUTO_CREATE_STATISTICS ON ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET AUTO_SHRINK OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET AUTO_UPDATE_STATISTICS ON ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET CURSOR_CLOSE_ON_COMMIT OFF ");
CommandExecute(@" ALTER DATABASE [" + DatabaseName + @"] SET CURSOR_DEFAULT GLOBAL ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET CONCAT_NULL_YIELDS_NULL OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET NUMERIC_ROUNDABORT OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET QUOTED_IDENTIFIER OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET RECURSIVE_TRIGGERS OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET ENABLE_BROKER ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET AUTO_UPDATE_STATISTICS_ASYNC OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET DATE_CORRELATION_OPTIMIZATION OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET TRUSTWORTHY OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET ALLOW_SNAPSHOT_ISOLATION OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET PARAMETERIZATION SIMPLE ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET READ_COMMITTED_SNAPSHOT OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET HONOR_BROKER_PRIORITY OFF ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET RECOVERY FULL ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET MULTI_USER ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET PAGE_VERIFY CHECKSUM ");
CommandExecute(@"ALTER DATABASE [" + DatabaseName + @"] SET DB_CHAINING OFF ");
CommandExecute(@"EXEC sys.sp_db_vardecimal_storage_format N'"+DatabaseName+@"', N'ON'");
co = null;
co = new SqlConnection(Ef.Database.Connection.ConnectionStr ing.ToString());
com.Connection = co;
///CommandExecute("USE [d27]");//////////////////////////////////////////////////////////////////////
CommandExecute(@" SET ANSI_NULLS ON");
CommandExecute(@" SET QUOTED_IDENTIFIER ON ");
CommandExecute(@" CREATE TABLE [dbo].[EmpGroup]([Id] [int] IDENTITY(1,1) NOT NULL,[Title] [nvarchar](50) NOT NULL, CONSTRAINT [PK_EmpGroup] 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] ");
CommandExecute(@"CREATE TABLE [dbo].[Bot]( [Id] [int] IDENTITY(1,1) NOT NULL, [Token] [nvarchar](max) NULL, [TypeService] [int] NULL, CONSTRAINT [PK_Bot] 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] TEXTIMAGE_ON [PRIMARY]");
CommandExecute(@" CREATE TABLE [dbo].[Employee]( [ID] [int] IDENTITY(1,1) NOT NULL, [FirstName] [nvarchar](64) NOT NULL, [LastName] [nvarchar](64) NOT NULL, [no] [decimal](18, 0) NOT NULL, [FatherName] [nvarchar](64) NULL, [EmpGroup_id] [int] NULL, [Mobile] [nvarchar](16) NOT NULL,[BirthDate] [datetime] NULL,[ChatId] [decimal](18, 0) NULL, CONSTRAINT [PK_Employee] 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] ");