C#连接ACESS时,sql语句有错
在写sql语句时,一般都是一句解决,从来没想过说,把sql语句拆开来写。
例如下面这句: string readstring = "select * from 实例 where 实例ID='"+eid+"'";
然后执行 Myconnection();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(readstring, Mycon);
这时候就会报错。。不是说“sql语句有错”,就是“数据类型不匹配”,更麻烦的是,运行成功了,但是运行的结果一直有错。。
后来,才发现原来如果连接的是acess的话,以上的这句sql是要变成下面这样写的:
string readstr = "select * from 实例 where 实例ID=";
string readstring = readstr + eid;
像下面这样的代码,才能运行无误:
int eid = Form1.int_selected + 1;
string readstr = "select * from 实例 where 实例ID=";
string readstring = readstr + eid;
Myconnection();//连接数据库
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(readstring, Mycon);
da.Fill(ds, "实例");
qbox1.Text = ds.Tables[0].Rows[0][3].ToString();
dxbox1.Text = ds.Tables[0].Rows[0][4].ToString();
相关文档:
---返回表达式中指定字符的开始位置
select charindex('c','abcdefg',1)
---两个字符的值之差
select difference('bet','bit')
---字符最左侧指定数目
select left('abcdef',3)
---返回字符数
select len('abcdefg')
--转换为小字符
select lower('ABCDEFG')
--去左空格后
select ltrim(' &nbs ......
--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DRO ......
UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT) ......
语法:
isnull(check_expression,replacement_expression)
参数check_expression与replacement_expression类型需相同
返回值:
若check_expression为null,则返回replacement_expression
若check_expression不为null,则返回check_expression ......
1、开始->程序-->Microsoft SQL Server 2005>配置工具->SQL Server Configuration Manager->SQL Server 2005 网络配置 ->“xxx(您的数据库)”的协议,如下图
将“Named Pipes”和“TCP/IP”的状态调成“启用”,方法是在“Named Pipes”和“T ......