C# 访问Access使用参数时注意事项
2017-07-17 00:00
495 查看
最近C#开发数据库应用程序,使用Access数据库,遇到一些问题,在这里记录以备查询。
1、OleDbCommand访问Access时,如果在SQL语句中使用参数,要注意使用正确的占位符“?”,而不是@名称。
2、向OleDbCommand的参数集Parameters中加入参数时,要按照占位符先后顺序添加。
3、给Access数据库中日期/时间类型字段更新数据时,应该用字符串类型参数,而不是DateTime类型,否则会出现类型不匹配的错误。
4、使用OleDbDataReader时,建议使用using语句。否则要记得用完后关闭,否则可能出现错误提示“ 已有打开的与此命令相关联的 DataReader,必须首先将它关闭 ”。
实例说明:
1、OleDbCommand访问Access时,如果在SQL语句中使用参数,要注意使用正确的占位符“?”,而不是@名称。
2、向OleDbCommand的参数集Parameters中加入参数时,要按照占位符先后顺序添加。
3、给Access数据库中日期/时间类型字段更新数据时,应该用字符串类型参数,而不是DateTime类型,否则会出现类型不匹配的错误。
4、使用OleDbDataReader时,建议使用using语句。否则要记得用完后关闭,否则可能出现错误提示“ 已有打开的与此命令相关联的 DataReader,必须首先将它关闭 ”。
实例说明:
cmd.Parameters.Clear();//如果在之前OleDbCommand已经使用了参数,这里一定要清除 cmd.CommandText = "insert into SeoToolPcInfo(uid,pcstr,buildver,LoginCount,LastLoginDate) values (?,?,?,1,?)"; cmd.Parameters.AddWithValue("@uid", user.UserName);//参数名称@uid在这里类似注释,没有实际意义 cmd.Parameters.AddWithValue("?", user.MachineID); cmd.Parameters.AddWithValue("?",user.ClientVersion); cmd.Parameters.AddWithValue("?", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//日期/时间字段参数也要用字符串 //cmd.Parameters.AddWithValue("?",DateTime.Now);//不能DateTime类型,会报错 cmd.ExecuteNonQuery();
相关文章推荐
- C#使用ExecuteReader返回DataReader既有查询结果集又有输出参数和返回值的使用注意事项
- C# 使用Oracle.DataAccess.dll注意事项
- C#使用ExecuteReader返回DataReader既有查询结果集又有输出参数或返回值的使用注意事项
- ADO.NET访问ACCESS数据库是SQL语句的通配符使用注意事项
- C# 中的 @ 符号的使用及注意事项
- C#中listview使用注意事项
- ASP.NET 参数传递,长度限制,及使用注意事项。
- c#事务的使用、示例及注意事项
- c#事务的使用、示例及注意事项
- Ubuntu 下用C语言访问gdbm数据库编译注意事项(使用ndbm方式)
- c#事务的使用、示例及注意事项(转
- C#的Replace函数,使用函数作为的参数需要注意
- c#中ref和out参数使用时需要注意的问题
- c#事务的使用、示例及注意事项
- C# 中的 @ 符号的使用及注意事项
- 在WEB程序中使用.NET Remoting的IpcChannel时注意事项(关于“拒绝访问”问题的解决)
- 使用.net框架应用C#语言开发窗口程序的一些注意事项
- C#语言中变量的使用和注意事项
- c#事务的使用、示例及注意事项(转)
- C#中使用含参数的SQL语句一定要注意参数长度的设置