asp 查询数据库 重号

来源:百度知道 编辑:UC知道 时间:2024/06/30 08:23:44
access数据库里号码有相同的,但是其它不同,查询出来以后可以看到两条号码相同的记录,但是按修改按钮,为什么我要修改的记录不是当前我选中的那条?而且修改完后两条记录的数据变成一样的了.请问用什么方法可以修改我选中的那条记录?
但是我把StudentNum改成ID却提示我找不到记录了.ID字段我已经添加了,为自动编号.以下是InfoModify.asp 修改的地方吧?要改哪里?
if Request("RedirectUrl")<>"" then
Response.Redirect(Request("RedirectUrl") & "?StudentNum=" & CLng(Request("MM_recordId"))+1)
end if
if Session("strQureyString")<>"" then
response.redirect "InfoQuery2.asp?" & Session("strQureyString")
end if
End If
End If
%>
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
if (Request.QueryString("StudentNum") <> "") then Recordset1__MMColParam = Request.QueryString("StudentNum")
%>
<%
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_StudentConn_S

把这个:
Recordset1.Source = "SELECT * FROM StudentInfo WHERE StudentNum = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
换成
Recordset1.Source = "SELECT * FROM StudentInfo WHERE StudentNum = " + Replace(Recordset1__MMColParam, "'", "''")

整数不要加单引号的.

你的修改语句的条件是按号码来的.
你可以增加一个标识字段,如ID...字段类型为编号.

然后在修改语句的条件用ID来做条件...

这样的话就不会出现你那样的问题了.

如: update [表] set [修改字段]='' where id=1

你可以数据库表里设置一个可以标识字段,比如id,字段类型是自动编号的
这样你修改记录时以此字段来提交