PDA

View Full Version : سوال: ارتباط كريستال ريپورت 9 با sql server در vb 6.0



momo21
شنبه 09 شهریور 1387, 19:52 عصر
سلام
كسي ميتونه كدي كه بايد توي فرم 6 vb در جايي كه ميخوام گزارش را نمايش بده ،بنويسم تا ارتباط با sql برقرار بشه چيه.الان وقتي گزارش را اجرا ميكنم قبل از نمايش گزارش يك صفحه مياد كه پسورد sa را از من ميخواد.من مي خوام همون اول بهش پسور را بدم ديگه موقع نمايش گزارش نپرسه.
ممنون

bsng110
یک شنبه 10 شهریور 1387, 08:26 صبح
هوالحکیم
سلام
سعی کن Connection String را به صورت

@"Data Source=[Server Source];Initial Catalog=[Your DataBase];Persist Security Info=True;User ID=[Your User ID];Password=[Your Password]"
بهش بدی. مثلاً من بهش گفتم

@"Data Source=.;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;Password=123"
یا علی
حق نگهدارت

freedomonly
یک شنبه 10 شهریور 1387, 09:19 صبح
سلام
بهتره از Crystal Report 10 استفاده کنی بعد DataBase در کریستال لینک کن آن وقت از طریق VB گزارشها را فیلتر کن

momo21
یک شنبه 10 شهریور 1387, 12:32 عصر
سلام

من از كد زير استفاده كردم الان وقتي كليد نمايش گزارش را مي زنم ميره تو صفحه انتخاب odbc وبعد كه odbc را انتخاب مي كنم پسورد sa را ميخواد بعد گزارش را نمايش ميده
فكر مي كنم كانكشن درست خوانده نمي شه
ترا خدا يكي كمك كنه گير كردم.

Dim crApp As New CRAXDDRT.Application
Dim crRept As New CRAXDDRT.Report
Dim crDBTab As CRAXDDRT.DatabaseTable
Dim objParam As CRAXDDRT.ParameterFieldDefinition

() Private Sub Command1_Click

(Set crRept = crApp.OpenReport(App.path + "\RPT_SalonReserve.rpt", 1
crRept.ParameterFields.GetItemByName("@SDate").AddCurrentValue TxtSdate.Text
crRept.ParameterFields.GetItemByName("@EDate").AddCurrentValue TxtEdate.Text
crRept.ParameterFields.GetItemByName("@SalonCode").AddCurrentValue CmbSalonName.ItemData(CmbSalonName.ListIndex)

crRept.DataBase.LogOnServer "PDSSQL.DLL", "TMFR_BKU.cntbldg4.com", "Negahdasht", "sa", "123"

For n = 1 To crRept.DataBase.Tables.Count
crRept.DataBase.Tables(n).SetLogOnInfo "TMFR_BKU.cntbldg4.com", "Negahdasht", "sa", "123"
Next n

crRept.EnableParameterPrompting = False
With FrmReportViewer
If Len(ReportTitle) > 0 Then
.Caption = ReportTitle
End If

FrmReportViewer.CRViewer.ReportSource = crRept
FrmReportViewer.CRViewer.ViewReport
'crRept.DiscardSavedData
FrmReportViewer.Show
FrmReportViewer.ZOrder vbBringToFront
End With
Set crRept = Nothing
Set crApp = Nothing

plato
سه شنبه 07 آبان 1387, 17:38 عصر
منهم به همین مشکل برخوردم، اگه مشکلتون حل شده راهشو به منم بگین.
متشکرم...

karbar987654321
دوشنبه 27 آبان 1387, 14:53 عصر
در فرم گزارشتان این کد را قرار دهید:


ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = "DynamicMethods";
connectionInfo.DatabaseName = "Db1";
connectionInfo.UserID = "sa";
connectionInfo.Password = "123456";

string RepPath=Application.StartupPath + @"\Report\Report1.rpt";
crystalReportViewer.ReportSource = RepPath;

SetLogin(connectionInfo);
----------------------------------------------------------------------

private void SetLogin(ConnectionInfo connectionInfo)
{

TableLogOnInfos TbLogOnInfos = crystalReportViewer.LogOnInfo;

foreach (TableLogOnInfo TbLogOnInfos in TbLogOnInfos)
{
TbLogOnInfos.ConnectionInfo = connectionInfo;
}
}