"Ошибка входа в систему" используйте crystal report 9 с двумя таблицами
Привет,
Я пытаюсь создать отчет с помощью Crystal report viewer 9 ,MS SQL и VB6. Я разработал отчет с использованием подключения OLE DB(ADO). Я соединяю один стол. Мой код таков,
Option Explicit Dim Appl As New CRAXDRT.Application Dim Report As New CRAXDRT.Report Private Sub Print_Click() Set Appl = New CRAXDRT.Application Set Report = Appl.OpenReport(App.Path & "\Bill1.rpt") Set rs = New ADODB.Recordset strReso = "SELECT BI_BILLNO,IM_Description,IM_SPrice,BI_QUANTITY,BI_AMOUNT " + _ "From BILLITEM,ITEMMASTER Where BI_BILLNO = " + Trim(txtBillNo.Text) + _ " and BI_ITEMCODE = IM_ItemCode" rs.Open strReso, conMain, adOpenStatic, adLockReadOnly Report.DiscardSavedData Report.ParameterFields.GetItemByName("BillNo").AddCurrentValue txtBillNo.Text Report.Database.SetDataSource rs CRViewer91.ReportSource = Report CRViewer91.ViewReport End Sub
Строка "str1 выглядит следующим образом = "поставщик=sqloledb.1;идентификатор пользователя = hemantha; пароль=19760207;начальный каталог=Waruni_Sale_System;источник данных=""
Это работает. Но, когда я использовал две таблицы, возникло сообщение об ошибке как
"Не удалось выполнить вход,Deiails: ADO ошибка код 0x80040e4d, источник: поставщик Microsoft oledb для SQL-сервера, описание: ошибка входа пользователя "имя пользователя", состояние SQL: 42000, уроженца ошибка:18456".
Отчет работает в Crystal Report( "предварительный просмотр").
В чем же дело? Кто-нибудь может помочь?
Что я уже пробовал:
Я пытаюсь Распечатать счет с помощью Crystal report viewer 9, VB6, MS SQL 2000.
CHill60
Это не имеет никакого отношения к количеству таблиц, вы не подключаетесь к базе данных должным образом, и вы не показали использовать код, где вы на самом деле подключаетесь.
Я не думаю, что по обе стороны от = должны быть пробелы для идентификатора пользователя - стоит попробовать. И также стоит попробовать войти в систему SSMS с этими деталями.
Кроме того, вы подвергаете себя атакам SQL - инъекций- не используйте конкатенацию строк для создания sql-операторов.
Наконец, вы не должны писать новый код в VB6 - он вышел из поддержки десятилетия назад.
PLAA Hemantha
Спасибо за ваш ответ, Пожалуйста, вы можете отправить какой-нибудь простой проект.
CHill60
Нет, боюсь, что не могу. Я избегал использовать Crystal Reports настолько, насколько это было возможно для человека, и перестал использовать VB6 несколько лет назад. У меня нет его копии, и я не собираюсь раскошеливаться на VB6, когда я могу просто скачать VB.NET бесплатно.
Вы убрали пробелы, как я предложил?
Можете ли вы подключиться через SSMS, как я предложил?
#realJSOP
Я бы посоветовал вам прекратить использовать Crystal Reports, но поскольку вы также используете VB6, я думаю, что вы просто проигнорируете меня.
PLAA Hemantha
Спасибо Мистер Джон,
Actually, I used Data Report. But, I had to face a problem couldn't solve. I want to set leftmargin set to 0 of Data Report. I asked help,I didn't find a solution.See "http://www.vbforums.com/showthread.php?762425-not-set-left-margin-in-printer-please-help-quick" Post 17 and 20. I'm using thermal bill printer. When Post #2 code is used, left margin size is 5mm. But it is 10mm. when I use Data Report and POS machine, can not adjust left margin size to 5mm(on paper. it is viewing as 0 margin on PC). But other all times ( Data Report with other printer, Post #2 code or any other document with POS machine), can adjust left margin size to 5mm. How can I solve this? Please help.
#realJSOP
Вы неправильно поняли - я не заинтересован в том, чтобы помочь вам с этой проблемой. Я здесь только для того, чтобы быть умником...