当前位置: 首页 > 编程语言 > C#

带参数共享的ASP.NETODBC查询

时间:2023-04-10 16:38:37 C#

带参数的ASP.NETODBC查询请帮帮我,我不知道下面的代码有什么问题:OdbcConnectionconn=newOdbcConnection(connString);Stringquery="INSERTINTOcustomer(custId,custName,custPass,"+"custEmail,custAddress,custAge)VALUES("+"@ID,@Name,@Pass,@Email,@Address,@Age)";OdbcCommandexe=newOdbcCommand(query,conn);exe.Parameters.Add("@ID",OdbcType.UniqueIdentifier).Value=id;exe.Parameters.Add("@Name",OdbcType.VarChar).Value=name;EXE文件。Parameters.Add("@Pass",OdbcType.VarChar).Value=pass;exe.Parameters.Add("@Email",OdbcType.VarChar).Value=email;exe.Parameters.Add("@Address",OdbcType.VarChar).Value=地址;exe.Parameters.Add("@Age",OdbcType.Int).Value=age;conn.Open();exe.ExecuteNonQuery();//错误[07002][Microsoft][ODBCMicrosoftAccessDriver]参数太少。预期6。此代码抛出参数太少。当我尝试执行查询时出错。数据库很好,当我将值硬编码到查询中而不是使用参数时,它工作正常。谢谢。来自MSDN:ODBC的.NETFramework数据提供程序不支持将命名参数传递给SQL语句或当CommandType设置为Text时由OdbcCommand调用的存储过程。在任何一种情况下,都使用问号(?)占位符。例如:SELECT*FROMCustomersWHERECustomerID=?将查询重写为OdbcConnectionconn=newOdbcConnection(connString);Stringquery="INSERTINTOcustomer(custId,custName,custPass,"+"custEmail,custAddress,custAge)VALUES("+"?,?,?,?,?,?)";参数顺序计数!编辑:可以这样添加参数:OdbcCommandexe=newOdbcCommand(query,conn);exe.Parameters.Add("ID",OdbcType.UniqueIdentifier).Value=id;exe.Parameters.Add("名称",OdbcType.VarChar).Value=名称;exe.Parameters.Add("通过",OdbcType.VarChar).Value=pass;exe.Parameters.Add("Email",OdbcType.VarChar).Value=email;exe.Parameters.Add("地址",OdbcType.VarChar).Value=地址;exe.Parameters.Add("Age",OdbcType.Int).Value=age;查询中的列不存在。请检查您的列名。当您在SQL语句中拼错列名时,通常会看到这种情况。您确定这些列名称(custId、custName等)吗?试试把pass改成passw可能和asp标识符混淆了...以上就是C#学习教程:ASP.NETODBCQuerywithParameters分享的全部内容,如果对你有用还需要进一步了解C#学习教程,希望大家多多关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: