#vb.net #sql-server-2005 #ado.net #crystal-reports #dataset
#vb.net #sql-server-2005 #ado.net #crystal-отчеты #набор данных
Вопрос:
Я создал отчет. Я использовал ado.net подключение. Я создал dataset из add new project. Я настроил dataset и вызвал этот dataset из отчета. на данный момент все в порядке. И я написал это в code-behind.
Dim Adp As New ClientDsTableAdapters.DataTable1TableAdapter
Dim Rpt As New Client
Rpt.Load(Server.MapPath(Client_FILE))
Rpt.SetDataSource(CType(Adp.GetData(), DataTable))
Client.EnableDatabaseLogonPrompt = False
Client.ReportSource = Rpt
Dim ConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo
ConnectionInfo.ServerName = "MyServer"
ConnectionInfo.DatabaseName = "MyDB"
ConnectionInfo.UserID = "MyUser"
ConnectionInfo.Password = "MyPassword"
ConnectionInfo.Type = CrystalDecisions.Shared.ConnectionInfoType.SQL
ConnectionInfo.AllowCustomConnection = True
For Each TableLogOnInfoVar As TableLogOnInfo In ClientReportViewer.LogOnInfo
TableLogOnInfoVar.ConnectionInfo = ConnectionInfo
Next
И я установил EnableDatabaseLogonPrompt = «false» в средстве просмотра отчетов. Теперь первая страница отчета в порядке. Когда я перехожу на следующую страницу и нажимаю что-либо на reportviewr, я получаю сообщение об ошибке. Ошибка заключается в следующем.
Logon failed. Details: crdb_adoplus : Object reference not set to an instance of an object. Error in File
Как я могу это решить
Ответ №1:
Все ли данные, необходимые для вашего отчета, присутствуют в вашем наборе данных?
CType(Adp.GetData(), DataTable)
Если это так, то вам не нужно указывать информацию о подключении, потому что вы уже отправили все данные в отчет, и он не должен пытаться запрашивать дополнительные данные с сервера.
Редактировать:
Выполняется ли
Adp.GetData()
получить все данные для отчета? Если это так, то удалите весь приведенный ниже код и повторите попытку:
Client.EnableDatabaseLogonPrompt = False
Dim ConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo
ConnectionInfo.ServerName = "MyServer"
ConnectionInfo.DatabaseName = "MyDB"
ConnectionInfo.UserID = "MyUser"
ConnectionInfo.Password = "MyPassword"
ConnectionInfo.Type = CrystalDecisions.Shared.ConnectionInfoType.SQL
ConnectionInfo.AllowCustomConnection = True
For Each TableLogOnInfoVar As TableLogOnInfo In ClientReportViewer.LogOnInfo
TableLogOnInfoVar.ConnectionInfo = ConnectionInfo
Next
Комментарии:
1. Но я не могу перейти на следующую страницу или другую кнопку средства просмотра отчетов.