سلام به همه ...
این کلاس باید ایجاد کنید :
using System;
using System.Text;
using System.Data.SqlClient;
using System.IO;
using Rahgoshafan_Box;
namespace Rahgoshafan_Sell_Management
{
class DB_Generator
{
public static void ExecuteScript(StreamReader createDatabaseScriptStreamReader, SqlConnection sqlConnection) // متد اجرای اسکریپت
{
StringBuilder stringBuilder = new StringBuilder();
while (!createDatabaseScriptStreamReader.EndOfStream)
{
string line = createDatabaseScriptStreamReader.ReadLine();
if (line == "GO")
{
try
{
string command = stringBuilder.ToString();
string message;
if (command.Length > 15)
message = command.Substring(0, 15);
else
message = command;
message = message.Trim();
Console.WriteLine("Executing command \"" + message + "...\"");
SqlCommand sqlCommand = new SqlCommand(command, sqlConnection);
sqlCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine();
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(ex.Message);
Console.ResetColor();
Console.WriteLine();
}
stringBuilder = new StringBuilder();
}
else
{
stringBuilder.AppendLine(line);
}
}
}
public static void Run_dbScript()
{
try
{
string sqlConnectionString = @"Data Source=.\;Initial Catalog=master;Integrated Security=True"; // کانکشن اس کیوال
StreamReader createDatabaseScriptStreamReader = File.OpenText("RahgoshafanDB.txt"); // معرفی فایل تکست
using (SqlConnection sqlConnection = new SqlConnection(sqlConnectionString))
{
sqlConnection.Open();
ExecuteScript(createDatabaseScriptStreamReader, sqlConnection); // اجرای متود بالا با پارامتر فایل تکست
sqlConnection.Close();
}
OK.ShowBox(@"! دیتابیس ایجاد شد
دیتابیس با موفقیت ایجاد شد", "تائید");
if (File.Exists("RahgoshafanDB.txt"))
{
createDatabaseScriptStreamReader.Close();
}
}
catch
{
Wait.CloseLoadingScreen();
Error.ShowBox(@"! دیتابیس ایجاد نشد
ساخت دیتابیس با خطا مواجه شد", "خطا");
}
}
}
}
اصل کار هم همینه (کد کار دوست عزیزم علی آقا هستش "alibilgats") که اسکریپت رو از فایل متنی میخونه و تو متود دوم اجرا میشه !
اینم کد ایجاد دیتابیس :
DB_Generator.Run_dbScript();
فقط باید توجه کنید که فایل اسکریپت چند خط توضیحات داره که باید حذف بشن و گر نه با خطا مواجه میشید ... اسکریپت باید مثل این نمونه باشه :
http://uploadboy.me/ap3346dyce14/RahgoshafanDB.txt