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();
相关文档:
1.字符串函数
长度与分析用
datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格
substring(expression,start,length) 不多说了,取子串
right(char_expr,int_expr) 返回字符串右边int_expr个字符
字符操作类
upper(char_expr) 转为大写
lower(char_expr) 转为小写
space(int_expr) 生成int_expr个空格 ......
UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT) ......
What Is SQL?
SQL (pronounced as the letters S-Q-L or as sequel) is an abbreviation for Structured Query Language. SQL is a language designed specifically for communicating with databases.
Unlike other languages (spoken languages like English, or programming languages like Java or Visual Basic), SQ ......
聚合函数若要汇总一定范围的数值,请使用以下函数:
SUM
返回表达式中所有值的总和。
语法
SUM(aggregate)
SUM 只能与包含数值的字段一起使用。将忽略空值。
AVERAGE
返回表达式中所有非空值的平均值(算术平均值)。
语法
AVERAGE(aggregate)
AVERAGE 只能与包含数值的字段一起使用。将忽略空值。
......
启动 MS SQL SERVER (2000 -2008都适用):
cmd>net start mssqlserver
启动 非缺省实例:
cmd>net start mssql$[instance name]
注:命令行需要有Administrator权限。
停止SQLSERVER 服务器:
cmd>net stop mssqlserver
cmd>net stop mssql$[instance name] ......