PDA

View Full Version : سوال: اتصال به db به صورت خودكار بعد از نصب كامل برنامه



sajad_3066
جمعه 27 مرداد 1391, 09:43 صبح
سلام دوستان
من مي خوام ادرس سرور ديتا بيس رو داخل يك فايل txt بزارم بعد در برنامه خودم بگم كه به صورت خودكار قبل از اجرا شدن برنامه خودش از اون آدرس بره و همه چي رو load كنه يا اگه لازم شد atach كنه
ممنون مي شم اگه راهنماييم كنيد

veniz2008
جمعه 27 مرداد 1391, 09:52 صبح
سلام. راحت ترین کار اینه که فایل های دیتابیس رو در پوشه bin\debuge بزاری ( یعنی کنار فایل اجرایی برنامه).کانکشن استرینگ زیر بصورت خودکار بانک رو اتچ میکنه و میتونی از برنامه ات استفاده کنی.

"Data Source=(local)\\SQLEXPRESS;AttachDbFilename=|DataD irectory|\\DataBase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
به جای کلمه DataBase باید نام دیتابیس خودت رو بذاری.
موفق باشی دوست من.

Y_Safaiee
جمعه 27 مرداد 1391, 09:53 صبح
با سلام خدمت شما دوست عزیزم

شما 3تا کار میتونی کنی

1.کار اول که را راحتتره یک متغییر در setting برنامت بسازی و با اون کار کنی,اینجوری فایلی خارجی نیازی نیست و توکار میتونی مسیرو ذخیره یا بازیابی کنی.
2.برای ساخت و خوندن اطلاعات از کد زیر استفاده کنی



using System.Data.SqlClient;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
SqlConnection cnn = new SqlConnection();

public Form1()
{
InitializeComponent();
}



private void btn_Save_Click(object sender, EventArgs e)
{
StreamWriter writer = new StreamWriter(Application.StartupPath + "\\dbpath.txt");
writer.Write(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True");
writer.Close();
}

private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists(Application.StartupPath + "\\dbpath.txt") == true)
{
StreamReader reader = new StreamReader(Application.StartupPath + "\\dbpath.txt");
string path = reader.ReadToEnd();
cnn.ConnectionString = path;
cnn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from list", cnn);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
reader.Close();
}
else
{
StreamWriter writer = new StreamWriter(Application.StartupPath + "\\dbpath.txt");
writer.Write(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True");
writer.Close();
Form1_Load(sender,e );

}
}



}
}


3.کنار برنامت تو پوشه دیباگ کپی کنی و این مسیرو تو کانکشنت بهش بدی :


"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True"


موفق باشی
بایت بایت