数据库录入的SQL语句,into方法应该怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库录入的SQL语句,into方法应该怎么写?相关的知识,希望对你有一定的参考价值。

表结构如下:
czxt 表名
webuse 字段一,文本型
czxt 字段二,文本型
cx 字段三,数值型

实现:查找czxt表中符合变量webuse和czxt的记录,如果有记录则将cx加1,如果没有则增加记录并将cx置为1。

要求用into方法而不是addnew。

Conn.execute("insert into 。。。?)
/
/
ADDNEW的效率较低,所以不想用。
我的目的是提高数据库打开和录入效率,请求最好的方法。

二楼的方法测试了,不正确。

<%
sql = "select id from czxt where czxt.webuse='" & webuse & "' and czxt.czxt='" & czxt & "'"
set rs=conn.execute(sql)
if rs.bof and rs.eof then
sql="insert into czxt(webuse,czxt,cx) values('" & webuse & "','" & czxt & "',1)"
conn.execute(sql)
else
do while not rs.eof
sql="update czxt set cx=cx+1 where id=" & rs("id")
conn.execute(sql)
rs.movenext
loop
end if
rs.close
set rs=nothing
%>
第一个sql查询符合变量webuse和czxt的记录,如果没记录就运行了第二个sql添加cx为1的记录,如果有记录(你没说清楚是一条还是很多条,我这里的代码当很多条记录处理用了一个循环将查到的所有记录用第三个sql将cx更新为cx+1),或许你这里问的问题跟你实际情况有出入,可加我QQ3295750帮你解决
参考技术A conn.execute("select * from czxt where ... ")
if not rs.bof and rs.eof then
sql="insert into czxt values('xx','xx',1)"
else
cx=cint(rs("cx"))+1
sql="insert into czxt values('xx','xx',"&cx&")"
end if
conn.execute(sql)
基本上就是这样。
参考技术B sql="select * from czxt where webuse='xxx' and czxt='xxx'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if rs.eof then
conn.execute("insert into czxt(webuse,czxt,cx) values('xxx','xxx',1)")
else
rs("cx")=rs("cx")+1
rs.update
end if
参考技术C sql="select * from czxt where webuse='xxx' and czxt='xxx'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if rs.eof then
conn.execute("insert into czxt(webuse,czxt,cx) values('xxx','xxx',1)")
else
rs("cx")=rs("cx")+1
rs.update
end if
就是这样了
参考技术D 我感觉你这个不是一句就够的.首先是要判断,要么更新,得使用UPDATA.要么插入.最好写个事件.

C#WINFORM连接SQL数据库的修改和删除语句怎么写

要修改在TEXTBOX中输入的数据stringsqlstr="update部门信息表set部门号='"+this.textBox1.Text.Trim()+"',部门名='"+this.textBox2.Text.Trim()+"'";这样有什么问题啊?有错误?应该怎... 要修改在TEXTBOX中输入的数据 string sqlstr = "update 部门信息表 set 部门号 ='" + this.textBox1.Text.Trim() + "',部门名='" + this.textBox2.Text.Trim() + "'";这样有什么问题啊?有错误?应该怎么写修改和删除语句,高手给个例子啊。 展开

参考技术A 你这样写语法上是没有错误,问题出在了逻辑上。你的更新语句没有条件,导致更新了多行,于是产生了重复值,就违反了主键约束,你只要在语句后面加上你的条件即可,例如:string
sqlstr
=
"update
部门信息表
set
部门号
='"
+
this.textBox1.Text.Trim()
+
"',部门名='"
+
this.textBox2.Text.Trim()
+
"'
where
部门号='6'";

以上是关于数据库录入的SQL语句,into方法应该怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

同一数据库MERGE INTO去重插入数据。

insert into 语句错误

请问打开或创建表的sql语句是啥

sql 循环查询

SQL 将属于同一个ID下的多行数据合并到一行

关于SQL语句中的insert用法