PDA

View Full Version : سوال: پیغام DatabBase login برای اتصال به اکسس پسورد دار



OHidden
پنج شنبه 09 شهریور 1391, 18:28 عصر
با عرض سلام خدمت دوستان برنامه نویس:قلب:

اول از همه خیلی توی سایت گشتم اما نتونستم به جواب مشکلم برسم

وقتی میخوام از دیتابیس اکسس گزارش بگیرم کادر Database login ظاهر میشه که از من پسورد دیتابیس رو میخواد در حالی که من توی کانکشن پسورد رو بهش میدم
من با سی شارپ 2008 و اکسس 2003 برنامه رو نوشتم
کانکشنش بصورت زیر هست


@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\program files\chalak\ChalakV3.mdb;Persist Security Info=true;Jet OLEDB:Database Password=1";

و برای گزارش گیری هم از کدهای زیر استفاده میکنم

OleDbConnection Connection = new OleDbConnection(connectionstring);
Connection.Open();
OleDbDataAdapter DR = new OleDbDataAdapter("select * from tel", Connection);
DataSet Dt = new DataSet();
DR.Fill(Dt, "tel");
RlistFastSale cr = new RlistFastSale();
crystalReportViewer1.ReportSource = cr;
cr.SetDataSource(Dt.Tables["tel"]);
Connection.Close();
اینم عکس database login
http://images.128pro.net/pic/994e3728ba5e.jpg

ممنون میشم اگه راهنمایی بفرمایید یا لینکی بهم بدید

alitavakoli
پنج شنبه 09 شهریور 1391, 18:38 عصر
اگه کانکشن استرینگتون داخل app.config هست کد شو ترسال کنید بررسی کنم

OHidden
پنج شنبه 09 شهریور 1391, 18:45 عصر
کانکشن سترینگ توی app.confgi نیست.کانکشنشو توی یه متغیر گذاشتم

alitavakoli
پنج شنبه 09 شهریور 1391, 21:11 عصر
از این لینک (http://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-dynamic-login.htm)استفاده کنید
سوالی داشتید اینجا (http://naras.ir)مطرح کنید در خدمتم

OHidden
جمعه 10 شهریور 1391, 11:17 صبح
جواب مشکلمو پیدا کردم
قبل از چاپ گزارش این تابع رو فراخوانی میکنیم.

void SEtData(ReportDocument cr)
{
ConnectionInfo CI = new ConnectionInfo();
CI.ServerName = @"D:\program files\chalak\ChalakV3.mdb";
CI.DatabaseName = "chalakv3.mdb";
CI.UserID = "admin";
CI.Password = "123";
foreach (IConnectionInfo Info in cr.DataSourceConnections)
{
Info.SetConnection(CI.ServerName, CI.DatabaseName, CI.UserID, CI.Password);
}
foreach (ReportDocument sub in cr.Subreports)
{
foreach (IConnectionInfo Info in sub.DataSourceConnections)
{
Info.SetConnection(CI.ServerName, CI.DatabaseName, CI.UserID, CI.Password);
}
}
}
و تابع رو تو این قسمت فراخوانی میکنیم

crystalReportViewer1.ReportSource = CR;
SEtData(CR);
CR.SetDataSource(Dt.Tables[Database]);