1、用存储过程,将你的变量作为输入参数传入!
2、在存储过程中可以使用将Sql语句作为一个字符串来组合,然后用Sp_ExecuteSql存储过程执行这个字符串形式的sql语句,具体内容查询Sql Server的帮助,可以查询sp_ExecuteSql存储过程。
Set @Sql Nvarcahr(20)
Set @Sql='Select' + @inputpara1 + 'From ' + @inputtablename
Exec Sp_ExecuteSql @Sql
2、在存储过程中可以使用将Sql语句作为一个字符串来组合,然后用Sp_ExecuteSql存储过程执行这个字符串形式的sql语句,具体内容查询Sql Server的帮助,可以查询sp_ExecuteSql存储过程。
Set @Sql Nvarcahr(20)
Set @Sql='Select' + @inputpara1 + 'From ' + @inputtablename
Exec Sp_ExecuteSql @Sql
CREATE PROCEDURE TEST
@Id INT
AS
SELECT * FROM TestTable WHERE TestFiled = @id
如果用数据环境,生成一个command对象,然后用
dataenv.Command1 参数
如果不用存储过程,
Dim com as command
set com = new command
com.CreateParameter "Id", adInteger, adParamInput, 4, 参数
com.Execute "Test", 数据链接
搞定收工。
to crazymens(疯子):如何用存储过程,将你的变量作为输入参数传入?
to foxmsdn(天堂雪狐):在你举例的存储过程
CREATE PROCEDURE TEST
@Id INT
AS
SELECT * FROM TestTable WHERE TestFiled = @id
中,我的意思是其中的id变量是已经在vb里定义的,num=Txtsimno.Text。。 testfiled=vb中已经定义的变量,我用WHERE (t1.SIM_NO ='" & num1 & "),语法检查没有错误,但是存储过程里不认num变量。 怎么办?????????
把VB中的变量做为SQL存储过程的一个参数不就可以搞定了吗?
老大,能不能详细一点啊,我试了好多次了不行。我多加分好不好。
Sample:(1)、SQL Server端Create Proc sp_Test @strIN varchar(30)
AS
SELECT * From tblMyTest WHERE PartID=@strIN
(2)、VB端, 假設用ADO來執行這個SP.Dim Conn as ADODB.Connection
Set Conn=new ADODB.Connection
Conn.Open "連接字串,自已定議"Call Conn.sp_Test txtTest.Text '就這樣執行這個Stored procedure就可以啦。
...set Conn=nothing