求解在SQL中使用了where列所遇到的问题

问题

 
我原先用MDB的数据库,用ASP写的一个系统。

由于没有经验,使用了where字段。

最近由于需要把数据库导成SQL的,导成功之后。我在调试时发现很多的使用了"rs.update"的代码会提示在where附近有语法错误。郁闷的我查了很多资料,同时也自己试了大半天。直到下午我才最终肯定,是where字段出了问题。

调试的结论是用update语句可以,但就是不能用rs.update来实现更新;更名正常,但工作量太大;删去正常,但不能删。在7917375群内和气气等人讨论好长时间也拿不出什么好的其它的方法来。所以发到这里,希望有人能够帮忙解决。

这一次是用不了,我只好麻烦地替换可以替换的,一次次地调试了。。

在此向各位同仁提醒,在表单设计时最好不要用数据库保留字段。
在SQL中表现为自动更改为[段名],在MDB请恕我愚钝看不出来。。

==================附调试信息

sql:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
GO

CREATE TABLE [dbo].[test] (
 [id] [bigint] IDENTITY (1, 1) NOT NULL ,
 [where] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
 [names] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
第一次导这样的脚本,希望能用。

ASP:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
 connstr="driver={SQL Server};server=localhost;uid=sa;pwd=;database=test"
 set conn=Server.CreateObject("ADODB.Connection")
  conn.Open connstr

 sql="select * from test where id=1"
 set rs=server.createobject("adodb.recordset")
 rs.open sql,conn,1,3
 rs("names")="test"
  rs.update
 rs.close
 set rs=nothing

set conn=nothing
%>

时间: 2024-10-29 04:43:11

求解在SQL中使用了where列所遇到的问题的相关文章

sqlbulkcopy-使用SqlBulkCopy时,无法将TXT中的时间字符串转换为SQL中的Datetime类型

问题描述 使用SqlBulkCopy时,无法将TXT中的时间字符串转换为SQL中的Datetime类型 今日在做项目中用到中转文件缓存的思路来想服务器传送数据,第一次使用SqlBulkCopy,但是遇到了问题:在将TXT文件中的数据复制到sql中时,第一列的时间总是提示格式不对,vs提示无法将第一列的字符串转换为DateTime格式,请各位高手支招,谢谢!!!连续加班十多天了,任务紧急,希望各位能给提出宝贵意见. 在每个TXT文件中的,每一行数据是这样存放的: 2014-07-22 00:14:

一列一列向access表中插入数据,列数是一个变量,用循环,用什么sql语句

问题描述 一列一列向access表中插入数据,列数是一个变量,用循环,用什么sql语句 用sql语句向ACCESS的一张表中添加数据,因为具体的列数还不清楚,所以想用循环一列一列向ACCESS表中插入数据,采用insert,为什么插入30行数据(即一列),当插第二列数据时就从第31行,第二列开始了(应该是第一行第二列开始).如果不用insert,用update那语句怎么写,一直出错. 解决方案 你的数据库表结构有问题.你应该把你的列作为行来插入.数据库中的表,列就应该是确定的. 解决方案二: 你

sql中的OR的使用求解,想查出该学校手机号不为NULL且不为&amp;amp;quot;&amp;amp;quot; 或 邮箱不为NULL且不为“”

问题描述 sql中的OR的使用求解,想查出该学校手机号不为NULL且不为"" 或 邮箱不为NULL且不为"" 想查出该学校手机号不为NULL且不为"" 或 邮箱不为NULL且不为""sql该怎么写?,以下这种是有问题的 SELECT COUNT(1) FROM t_rm_user WHERE schoolCode = '612323' AND (mobilePhone IS NOT NULL AND mobilePhone !

数据库 sql sqlserver-怎么给数据库的表中的某一列更新内容

问题描述 怎么给数据库的表中的某一列更新内容 数据库:SqlServer2005 表:table_1 列: a_id(pk,int) b_id(int) c_id(int) 现在我要把table_1中的b_id=3的c_id列在原来的值上加20 求sql 谢谢

数据-SQL中将多行中的一个字段列中的数值加/号组合在一起

问题描述 SQL中将多行中的一个字段列中的数值加/号组合在一起 一张表中有以下字段,想做如下处理,将统一DJLSH下相同的GNLX的XMBH与XMMC合并成一条数据. 1401090002的DJLSH中,XMBH803膀胱的GNLX是B超,802也是B超,那么就要进行合并. 实现的效果如下: 求组各位大神! 解决方案 oracle的wmsys.wm_concat,oralce11g开始特有的listagg mysql的group_concat函数 sqlserver的xml path 都是处理你

怎样在vb.net+sql中查询数据表里某一列

问题描述 怎样在vb.net+sql中查询数据表里某一列 解决方案 解决方案二:??不明白你想问的是什么.从字面理解你是想查询某个表的一个列所有内容.SQL:select某字段from表如果是有条件查询,就在表后面加上where字句就可以了解决方案三:觉得和vb没关系,纯sql问题解决方案四:同感

《Oracle SQL疑难解析》——1.2 把表中所有字段都列出来

1.2 把表中所有字段都列出来 Oracle SQL疑难解析 1.2.1 要解决的问题 我们要把表中所有的字段数据都列出来,但并不想把每个字段名都在SELECT后面输入一遍. 1.2.2 解决方法 使用星号(*)占位符,即可代表所有表中字段,例如: select * from hr.employees where department_id = 50 and salary < 7500; ``` 因为列多页窄,查询结果换行显示,为节省空间,我们也仅仅在下面列了几行,但相信你已经能看出来用"

SQL中 将同一个表中的A列更新到B列,B列更新到A列

原文:SQL中 将同一个表中的A列更新到B列,B列更新到A列 有网友在SKYPE问及,如标题,SQL中 将同一个表中的A列更新到B列,B列更新到A列. 其实这个不是问题,直接写更新语句即可,可以参考下面动画演示: SQL source code: CREATE TABLE [dbo].[tbl] ( [id] INT, [a] NVARCHAR(10), [b] NVARCHAR(10) ) INSERT INTO [dbo].[tbl] VALUES (1,'123','456') SELEC

Sql Server中判断表、列不存在则创建的方法

一.Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法 IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID WHERE T1.NAME='A' AND T2.NAME='C' ) PRINT '存在' ELSE PRINT '不存在' 第二种方法,短小精