关于ACCESS下OleDbParameter的使用
今天,还是在做那个项目,依然使用往常的sqlhelper用法,往常的数据库操作类,但是偏偏调试不成功,而且最重要的是,它不报错
中午吃饭回来,本来想打算睡个午觉的,但是项目太紧迫了,于是又跟车车研究了一中午,最后,发现如果不用@参数传递的话,是正常运行的,于是百度了一下,那些人说要用“?”当占位符
我想想觉得不正确,于是做了一个实验,发现那是假话
晚上回来,国龙帮我解决了这个问题了
原来,sqlhelper对参数赋值的时候,是循环来赋值的,也就是说,string sql="";中的参数位置,与
OleDbParameter[] paras ={ new OleDbParameter("@introduction",company.Introduction),
new OleDbParameter("@company_ID",company.Company_ID)
};中参数的位置要对应,
其实想想也是
参数赋值错误,最多就执行不正确,不会出现报错的
先公布代码吧!!!
public bool Update_Company(Company company)
{
bool flag = false;
string sql = "update tb_company set introduction=@introduction where company_ID=@company_ID";
OleDbParameter[] paras ={ new OleDbParameter("@introduction",company.Introduction),
new OleDbParameter("@company_ID",company.Company_ID)
};
int res = SqlHelper.doExecuteNonQuery(sql, paras);
if (res > 0)
{
flag = true;
}
return flag;
}
public int doExecuteNonQuery(string sql,OleDbParameter[] prams)
{
cmd = new OleDbCommand(sql, GetConn());
// cmd.Parameters.Add("introduction", OleDbType.VarChar, 1000, "introduction").Value = new Company().Introduction;
//cmd.Parameters.Add("company_ID", OleDbTyp
相关文档:
查询语句只要这样写,就可以随机取出记录了
SQL="Select top 6 * from Dv_bbs1 where isbest = 1 and layer = 1 order by newID() desc"
在ACCESS里
SELECT top 15 id from tablename order by rnd(id)
SQL Server:
Select TOP N * from TABLE Order By NewID()
Access:
Select TOP N * from TABLE Order By Rnd(ID ......
JDBC连接MySQL
加载及注册JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
JDBC URL 定义驱动程序与数据源之间的连接
标准语法:
<protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<da ......
原文:http://blog.sina.com.cn/s/blog_5fdcf5c90100fher.html
Access数据库“自动编号”字段归零
Access数据库“自动编号”数据类型是一个非常实用的类型,它可以很方便地帮助我们完成标识不同记录ID的工作。但是由于JET引擎的特性(SQL server使用T-SQL),当我们在Access数据库某张表中执行了删 ......
最近系统运行中发现Access 2003 版本中对待 Null 和 ‘’ (空字符)奇怪问题,重现步骤:
1、创建表tabTest ;
2、使用设计视图添加两个字段 ID ,col1
名称
类型
长度
说明
ID
Number
主键,自增
Col1
char
1
无
3、使用sql 添加如下数据
-- col1 字段设置为 null
INS ......