我想在在Access 数据库中创建一个插入的存储构成:Create Proc InsertStudent
(
  studentID Varchar(10),studentName Varchar(20),studentSex Varchar(10),studentJoin Varchar(20)as(
 insert into Room values(  studentID ,studentName ,studentSex ,studentJoin)
)
我这里那里写错了、我网上找了一下改了、但还是有问题。

解决方案 »

  1.   

    需要说明的是,除了Access之外,操作其它数据库可以不必要按照参数在SQL语句中出现的顺序添加进去一样可以正确执行,但是在Access中一定按照插入的列的顺序添加参数,因为“OLE DB.NET Framework 数据提供程序使用标有问号 (?) 的定位参数,而不使用命名参数(MSDN)”,所以给添加参数和赋值一定要按照列的顺序。
    通过上面的例子,基本上可以总结出一个规律:在参数化SQL中参数名的格式跟其在存储过程中生命存储过程参数一致,例如在Oracle中存储过程参数一律以”:”开头,在MS SQL Server中存储过程参数一律以”@”开头,而在MySQL中存储过程(MySQL从5.0以后版本支持存储过程)参数一律以“?”开头,所以在参数化SQL语句中参数名有些不一样(记得在csdn上有朋友提到过不知道为什么MySQL中参数化SQL语句中要用“?”而不是和SQL Server一样使用”@”),如果那位朋友看过本文,我想他就会解开这个疑虑了。
    http://blog.csdn.net/zhoufoxcn/archive/2008/03/19/2195618.aspx