小弟目前在完善一个数据库的时候遇到了一个麻烦(使用postgreSQL 8.1的pl/pgsql语言):项目本身已经连接了数据库与VB源程序,本来想继续将VB中所有的SQL命令语句转为数据库服务器中的存储函数(stored procedure)形式,以节约时间.在直接使用VB中的参数,例如'"&categorie(0)&"', '"&type(1)&"'等等的时候,都可以正常运行.使用的是record形式返回函数值.但是,在使用类似'"&tableLisMac.Rows(machine).Item(1)&"'这样的复杂参数的时候,上面例子可以使用的函数语句就不能使用了.系统给出的错误信息是: ERROR: invalid input syntax for integer:""&tableLisMac.Rows(machine).Item(1)&""
                   SQL状态: 22P02
                   COntexte: SQL statement "select type from GMPOP_types where idtype=(""&tableLisMac.Rows(machine).Item(1)&"")"
                   PL/PGSQL.function "fon_test3" line 4 at for over select rows小弟在存储函数的程序中,使用了for...loop简单循环,可以实现上面说的简单VB参数的数值输出,但是复杂的就不行.
   
小弟试过了游标,但也还是不行.(可能是我编的游标命令有问题)由于项目时间很紧张,在这个问题上,小弟已经卡住了不少时间,所以恳请各位高手多多帮忙!!!

解决方案 »

  1.   

    http://www.google.cn/search?hl=zh-CN&q=postgresql+VB&meta=&aq=1
      

  2.   

    嗯,我问题的意思,不是VB和数据库的连接,而是不知道为什么同样的pl/pgsql语句,简单参数就可以正常使用,而复杂的参数就报错!对于在数据库中,用pl/pgsql语言直接引用VB中的参数,有什么限制或者要求么? 小弟我初次接触数据库语言,有些东西还不是很清楚,请各位高手多多赐教呀!为何会报错?! 这是现在没想清楚的事情......
      

  3.   

    如果这样的话,那应该如何在数据库中,应用VB语句中的参数呢?!这个项目的本意是: 随着客户在软件中的自主选择(VB编写)的不同,数据库(postgreSQL)也要及时查找出对应的数据!本来都好好的,在VB中直接使用SQL语句,就可以很好的调用数据库.但是现在要把所有的VB中的SQL语句,变为在数据库中的函数,在VB中只需要调用函数名即可,不用一条条调用SQL语句.所以,小弟才遇到这个麻烦,因为对应VB中的那些随客户选择而变化的参数,小弟在数据库中还不知怎么编写适合的函数!请高手多多帮忙!!! 多谢!!! 多谢!!!