Страница: 1 |
Страница: 1 |
Вопрос: ADO HELP
Добавлено: 13.06.08 20:23
Автор вопроса: portC | Web-сайт:
Помогите, гуру, горЮ
есть код и акцессовская база
но при выполнении говорит, что не хватает одного или нескольких параметров
dkr = "INSERT INTO potrebnosti (id , idd ,data_potrebnosti , klient , menager, data_ispolnenia ,memo1 , memo2 , memo3 , menid , datenew) VALUES ( 8 , 8 , '20.06.2008' , Нефтепром , Иванов, '20.06.2008' , Картриджи , Добавить , n , Иванов , '08.06.2008')"
Sub DoSimpleAction()
Dim strActionSQL As String
Dim cn3 As New ADODB.Connection
'Подключаемся к SQL-серверу
' cn3.Open "Provider=Microsoft.Jet.OLEDB.4.0"
' Выполняем запрос
cn3.Provider = "Microsoft.Jet.OLEDB.4.0;Persist Security Info=False"
'cn3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:OrgServ2\alltables.mdb;Persist Security Info=False;"
cn3.Open MSDatabase, Admin
strActionSQL = dkr
cn3.Execute strActionSQL
'Отключение
cn3.Close
End Sub
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
portC
Вопросов: 14
Ответов: 101
Web-сайт:
Профиль | | #1
Добавлено: 13.06.08 20:24
использую VB 6.0
Номер ответа: 2
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #2
Добавлено: 13.06.08 23:01
Ты SQL-дамп базы дай, тогда уж можно что-то сказать... Или залей базу
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 13.06.08 23:03
У тебя где-то типы не соответствуют. Да и строки, имхо, лучше в кавычки заключать
Номер ответа: 4
Автор ответа:
portC
Вопросов: 14
Ответов: 101
Web-сайт:
Профиль | | #4
Добавлено: 14.06.08 00:27
С Execute не пошло
переделал все к такому виду:
Public cn As ADODB.Connection
Public cn2 As ADODB.Connection
Public DBConnect As Boolean
Public DBConnect2 As Boolean
Public MSDatabase
Public MSDatabase2
Public Function ADOConnect() As Boolean
On Error GoTo OpenErr
Set cn = New ADODB.Connection
MSDatabase = App.Path & "\" & "alltables.mdb"
cn.CursorLocation = adUseClient
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Form1.stat.Caption = "Connecting to Database"
cn.Open MSDatabase ', Admin
 BConnect = True
Exit Function
OpenErr:
MsgBox "Error Opening " & MSDatabase & vbNewLine & Err.Description, vbCritical, "Open Database Error"
 BConnect = False
End Function
Public Function addpotr()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "Select*from potrebnosti", cn, adOpenKeyset, adLockOptimistic
On Error Resume Next
If rs.EOF = True Then
rs.AddNew
rs!id = 8
rs!idd = 8
rs!data_potrebnosti = "'20.06.2008'"
rs!klient = "Нефтепром"
rs!menager = "Иванов"
rs!data_ispolnenia = "'20.06.2008'"
rs!memo1 = "Картриджи"
rs!memo2 = "edfsrg"
rs!memo3 = "dfgdfg"
rs!menid = "Иванов"
rs!datenew = "'08.06.2008'"
rs.Update
rs.Close
Set rs = Nothing
End If
End Function
Private Sub Command3_Click()
addpotr
End Sub
но реакции никакой, даже ошибок не выдает
Номер ответа: 5
Автор ответа:
portC
Вопросов: 14
Ответов: 101
Web-сайт:
Профиль | | #5
Добавлено: 14.06.08 00:34
блин,
On Error Resume Next
If rs.EOF = True Then
ппц, насмешил свои тапочки, видимо спать пора
Номер ответа: 6
Автор ответа:
portC
Вопросов: 14
Ответов: 101
Web-сайт:
Профиль | | #6
Добавлено: 14.06.08 00:35
спасибо, все заработало DD
Номер ответа: 7
Автор ответа:
Старый
Вопросов: 6
Ответов: 13
Профиль | | #7
Добавлено: 19.06.08 00:22
Execut не сработал мне кажется из-за дат в запросах.
Насколько я помню аccess не понимает даты в таком формате... Д.б. что типа #06/20/08#
Номер ответа: 8
Автор ответа:
Teach
Вопросов: 6
Ответов: 5
Профиль | | #8
Добавлено: 22.08.08 17:56
basa = App.Path + "\base.mdb"
basa1 = "SN=База данных MS AccessBQ=" + basa + "efaultDir=" + kat + "riverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=1;UID=user;PWD=servis"
conn.Open "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=" + basa1
conn.CursorLocation = adUseClient
rs1.Open "реквизиты", conn, adOpenDynamic, adLockBatchOptimistic, adCmdTable
rs1.MarshalOptions = adMarshalModifiedOnly
В rs.Open указывается имя таблицы в файле .mdb и обязательно опция adCmdTable.