关于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
相关文档:
http://www.tongyi.net/article/20031101/200311013786.shtml
所谓的数据传输,其实是指SQLServer访问Access、Excel间的数据。
为什么要考虑到这个问题呢?
由于历史的原因,客户以前的数据很多都是在存入在文本数据库中,如Acess、Excel、Foxpro。现在系统升级及数据库服务器如SQLServer、ORACLE后,经常需要访问文本数 ......
C#中访问关键字(access keyword)有两个:base、this
1.base
用于从派生类中访问基类的成员,包括:
a.调用基类上已被其它方法重写(override)的方法。
b.指定创建派生类实例时应调用的基类构造函数。
注意:对基类的访问只能 ......
一、创建一张空表:
Sql="Create TABLE [表名]"
二、创建一张有字段的表:
Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))
字段类型:
2 : "SmallInt", // 整型
3 : "Int", ......
项目中用到了此功能。把大概做法跟大家共享下,希望对大家有所帮助。也给自己总结一下,激励自己再接再厉。下面中部分代码被汉字替换了,主要考虑到公司的产品权,希望谅解。
/// <summary>
  ......
在SQL Server中模糊查询通常是这样的Select * from articleTable where authorName like '%jacky%'
但是在Access中用这条语句执行的时候竟然发现查不出结果,怎么可能呢?
后来查了下资料,发现问题如下:
要进行模糊查找,则必须使用通配符,ACCESS库的通配符和SQL SERVER的通配符不一样。
ACCESS库的通配符为:
*& ......