1、用存储过程,将你的变量作为输入参数传入!
2、在存储过程中可以使用将Sql语句作为一个字符串来组合,然后用Sp_ExecuteSql存储过程执行这个字符串形式的sql语句,具体内容查询Sql Server的帮助,可以查询sp_ExecuteSql存储过程。
Set @Sql Nvarcahr(20)
Set @Sql='Select' + @inputpara1 + 'From ' + @inputtablename 
Exec Sp_ExecuteSql @Sql
 

解决方案 »

  1.   

    好简单的问题,首先你的存储过程要正确。如下例:
    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", 数据链接
    搞定收工。
      

  2.   

    把VB中的变量做为SQL存储过程的一个参数不就可以搞定了吗?
      

  3.   

    多谢各位
    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变量。 怎么办?????????
      

  4.   

    LiaoCheng(自由人) 回复于2001-9-15 13:52:29   
    把VB中的变量做为SQL存储过程的一个参数不就可以搞定了吗?  
    老大,能不能详细一点啊,我试了好多次了不行。我多加分好不好。
      

  5.   

    這是一個很簡單的問題:
    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