2

あなたの助けが必要です。

ショッププログラムのコードを作成しており、CrystalReportバージョン10.5.37xxxxでvb.net2008を使用しています。

問題は、プログラムをクライアントコンピュータにインストールしようとすると、すべてが機能しますが、CrystalReportでは機能しないことです。それは常にデータベースログインを要求し、私はデータベースログインを要求するようにプログラムをコーディングしませんでした。

私はそれを次のような単純なコードで書いただけです:

Public Class Form16

    Private Sub Form16_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim view As New CrystalReport4
        view.SetParameterValue("p_1", Form5.no_faktur_tb_immanuel)
        CrystalReportViewer1.ReportSource = view
    End Sub

End Class

誰かがこれを手伝ってくれますか?

4

4 に答える 4

1

DataSource Providerレポートがに設定されていることを確認しMicrosoft OLE DB provider for SQL ServerてくださいSQL Server Native Client 10.0

于 2013-01-22T13:54:50.500 に答える
1

ログイン資格情報を手動でコーディングできるはずです。

Public Class Form16

    Private Sub Form16_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim view As New CrystalReport4
        Dim user as string = "Username"
        Dim pwd as string = "Password"

        view.SetDatabaseLogon(user, pwd)
        view.SetParameterValue("p_1", Form5.no_faktur_tb_immanuel)
        CrystalReportViewer1.ReportSource = view

    End Sub

End Class
于 2013-01-22T13:57:42.580 に答える
0

オープンフィールドエクスプローラーを試してください--->データベースフィールド--->右クリック->現在のデータソース--->レポート接続----->レポート----->プロパティ---->プロパティの設定なので - -

データソース:。\ Databasename.accdb

ビューアフォームのコードは次のように読み込まれます

新しいReportDocumentとしての薄暗いcryRpt

    Dim Report1 As New rptItemWise

    Dim strServerName As String
    strServerName = Application.StartupPath
rptItemWise.SetDatabaseLogon("admin", "", strServerName, "dastabasename.accdb", True)



    cryRpt.Load(Application.StartupPath + "\rptItemWise.rpt")

また、データソースと同じようにレポート接続を変更します。コードはあなたのために働くと思います...。

于 2014-12-09T07:23:06.957 に答える
0

これはあなたのために働くでしょう!

C#コード:


ConnectionInfo boconnectioninfo = new ConnectionInfo ();

boconnectioninfo.ServerName= "D-2818-w2k";

boconnectioninfo.DatabaseName ="NW";

boconnectioninfo.UserID ="sa";

boconnectioninfo.Password ="sa";

CrystalReportViewer1 .ReportSource = Server.MapPath("CrystalReport1.rpt");

TableLogOnInfos botableInfo= CrystalReportViewer1 .LogOnInfo;

            foreach (TableLogOnInfo obj2 in botableInfo)


            {
                obj2.ConnectionInfo =boconnectioninfo;

            }

Vb.netコード:



    Dim boconnectioninfo As New ConnectionInfo
        boconnectioninfo.ServerName = "sa"
        boconnectioninfo.DatabaseName = "sa"
        boconnectioninfo.UserID = "sa"
        boconnectioninfo.Password = "sa"
        Me.rptViewer.ReportSource = _ReportPath
        Me.rptViewer.SelectionFormula = _SelectionFormula
        If Not _ParameterFields Is Nothing Then
            Me.rptViewer.ParameterFieldInfo = _ParameterFields
        End If
        Dim a As TableLogOnInfos = Me.rptViewer.LogOnInfo





        ' Iterate through the list.
        For Each aa As TableLogOnInfo In a
            aa.ConnectionInfo = boconnectioninfo
        Next

        Me.Cursor = Cursors.Default
        rptViewer.Refresh()
于 2019-12-27T10:40:56.600 に答える