这样也不行
rs1 = "insert into agentest values('"& fields(1) &"','"& fields(2)&"','" & fields(3) & "','" & fields(4) & "')"
rs1 = "insert into agentest values('"& fields(1) &"','"& fields(2)&"','" & fields(3) & "','" & fields(4) & "')"
解决方案 »
- 对我是难度,求助解决,WebBrowser提交安全问题,代码不会
- Leftie大哥进来看下,关于mshlexgrid多选的问题。。。
- 急用
- 如何解决VB6+SQL SERVER查询慢且绑定时也慢的原因.
- 我有一个程序,可以用findwindow找到它的句柄如何分正常终止它的运行呢.?
- 在VB判断一文件夹中是否有指定文件的函数是社么?
- 使用vb的treeview控件,目录距离太宽,哪里可以设置得紧凑一点
- 难题,难题!
- 救命啊!JS.AppletActX是什么病毒?怎样杀呀!高分求救。
- 熟悉ADOX的请进——
- 我是一个vb新手,请大家多多帮助呀!!!问一个很简单的小问题!!!!!
- API参数声明?
rs1 = "insert into agentest(agent_id,agent_name,agent_type,agent_pass) values(2002,’me‘,‘标准作息’,123)"
rc = SQLExecDirect(hstmt, rs1, Len(rs1))
Dim CnnSql As New ADODB.Connection 'ADO数据库连接
Dim PRs As New ADODB.Recordset 'ADO数据集StrSql = "insert into agentest values("& fields(1) &","& fields2)&"," & fields(3) & "," & fields(4) & ")"
PRs.Open StrSql, CnnSql, adOpenKeyset, adLockReadOnly
dim StrSql as string
Dim CnnSql As New ADODB.Connection 'ADO数据库连接
Dim PRs As New ADODB.Recordset 'ADO数据集StrSql = "insert into agentest values('"& fields(1) &"','"& fields2)&"','" & fields(3) & "','" & fields(4) & "')"
PRs.Open StrSql, CnnSql, adOpenKeyset, adLockReadOnly
就这么短的程序,已经两天了,还没解决Private Sub Form_Load()
Dim henv As Long
Dim hdbc As Long
Dim hstmt As Long
Dim rc As Integer
Dim dsn As String
Dim pwd As String
Dim uid As String
Dim rs As Stringdsn = "SDKH"
pwd = "123"
uid = "SDKH"
rc = SQLAllocEnv(henv)
rc = SQLAllocConnect(henv, hdbc)
rc = SQLConnect(hdbc, dsn, Len(dsn), uid, Len(uid), pwd, Len(pwd))
If rc <> SQL_SUCCESS Then
MsgBox "connect failed"
Exit Sub
End Ifrc = SQLAllocStmt(hdbc, hstmt)
rs = "insert into agentest values(2004,'me','普通作息',124)"
rc = SQLExecDirect(hstmt, rs, Len(rs)) //rc=-1
If rc = SQL_SUCCESS Then
MsgBox "insert success"
Else
MsgBox Err.LastDllError //output 0
MsgBox "insert failed"
End IfEnd Sub
exec_procedure = ""
If sql = "" Then Exit Function
Dim cnn1 As ADODB.Connection
Dim rst1 As ADODB.Recordset
Set cnn1 = New ADODB.Connection
Call cnn1.Open(connectstr())
Set rst1 = New ADODB.Recordset
rst1.ActiveConnection = cnn1
On Error GoTo errorhandle
Call rst1.Open(sql, cnn1, adOpenKeyset, adLockReadOnly)
If i <> 555 And i <> 999 Then
If rst1.RecordCount = -1 Then exec_procedure = CStr(rst1.Fields(i).value)
If rst1.RecordCount = 1 Then exec_procedure = CStr(rst1.Fields(i).value)
End If
If i = 999 Then
ReDim arrary_rpt(rst1.Fields.Count) As String
If (rst1.RecordCount = 1 Or rst1.RecordCount = -1) And rst1.Fields.Count >= 1 Then
Dim k As Integer
For k = 0 To rst1.Fields.Count - 1
arrary_rpt(k) = rst1.Fields(k).value
Next
Else
For k = 0 To rst1.Fields.Count - 1
arrary_rpt(k) = ""
Next
End If
End If
Set rst1 = Nothing
cnn1.Close
Set cnn1 = Nothing
Exit Function
errorhandle:
Err.Clear
Set rst1 = Nothing
Set cnn1 = Nothing
Exit Function
End Function Sql = "insert into agentest(f1,f2,f3,f4) values('"& fields(1) &"','"& fields2)&"','" & fields(3) & "','" & fields(4) & "')"
call exec_procedure(Sql,555)。
或者在数据库中建procedure如:
create procedure insert_ag
@f1 varchar(50), --类型依实况而定,现仅作假释。
@f2 varchar(50),
@f3 float,
@f4 money
as
declare @errormsg as varchar(300)
insert into agentest(f1,f2,f3,f4) values(@f1,@f2,@f3,@f4)
IF (@@ERROR <> 0)
SET @errormsg = @@ERROR
else
SET @errormsg = 'ok' select errormsg = @errormsg代码执行:
dim errmsg as string
errmsg = exec_procedure("exec insert_ag '"+f1+"','"+f2+"',"+f3+","+f4+"",0)
msgbox errmsg
1。ado能访问foxbase数据库吗?如果不能,是不是只能用odbc api方式对其操作?
2。我是要实现这样的功能,把foxbase中的数据转到oracle中的相应同名表中。
3。Function exec_procedure这个函数没看懂,惭愧!!!
方式:
FoxStr = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceType=DBF;DBQ=" & App.Path
Cn.Open FoxStr
访问自由表时跟访问ACCESS一样:"select * from tablename1 where ...."
不是自由表时:“select * from databasename1..tablename1 where ...."
你的插入语句:
StrSql = "insert into agentest values("& fields(1) &","& fields2)&"," & fields(3) & "," & fields(4) & ")"
cn.execute(StrSql)
但即使这样也不能插入,我试过了(别的都没改动),在sql*plus历史正确的。
rs = "insert into agentest values(2004,'me','普通作息',124)"
rc = SQLExecDirect(hstmt, rs, Len(rs)) to:楼上
foxpro和foxbase有多大区别?你说的那个方法也可以用来访问foxbase吗?