返回列表 发帖
txtSQL = "select UID "
  txtSQL = txtSQL & " from userinfo "
  txtSQL = txtSQL & "where UID ='" & Trim(txtUserName.Text) & "'"

SQL那段换一下就行了

LZ恶搞... Where语句里用UID  Select后面跟 uid
难道是2个字段?

TOP

原帖由 .lemon. 于 2007-6-28 14:39 发表
...

SQL是不区别大小写的..

语法是成立的,但逻辑上有错误- -

找Uid为某某的Uid??



ps.一般有编译器环境做软件,报错,或结果有出入就跟踪一下啊.. 每步每步对照问题出在哪....





表字段不区分大小写?

TOP

原帖由 .lemon. 于 2007-6-28 14:58 发表


8区别的..自己开查询分析器试下不就知道了..



字段名和表名怎么会不区分大小写呢.. 又不是SQL命令

你userinfo 这个表里的UID字段是大写的话

Select uid form userinfo 这句在分析器里是报错的..

TOP

原帖由 .lemon. 于 2007-6-28 15:47 发表



你真的去试了么?



恩...






改了语句里的 C_Kno 字段为小写的 C_kno 就报错
SqlServer2000 和 SqlServer2005 都一样

TOP

LZ  那个错我帮你改了

但是完全编译发现错误无数

这东西哪载来的?

TOP

ExecuteSQL没有封装

在MOD模块里

Public Function ExecuteSQL(ByVal SQL _
   As String, MsgString As String) _
   As ADODB.Recordset
'executes SQL and returns Recordset
   Dim cnn As ADODB.Connection
   Dim rst As ADODB.Recordset
   Dim sTokens() As String
   
   On Error GoTo ExecuteSQL_Error
   
   sTokens = Split(SQL)
   Set cnn = New ADODB.Connection
   cnn.Open ConnectString
   If InStr("INSERT,DELETE,UPDATE", _
      UCase$(sTokens(0))) Then
      cnn.Execute SQL
      MsgString = sTokens(0) & _
         " query successful"
   Else
      Set rst = New ADODB.Recordset
      rst.Open Trim$(SQL), cnn, _
         adOpenKeyset, _
         adLockOptimistic
      'rst.MoveLast     'get RecordCount
      Set ExecuteSQL = rst
      MsgString = "イ鰉ッオス" & rst.RecordCount & _
         " フ?ヌツシ "
   End If
ExecuteSQL_Exit:
   Set rst = Nothing
   Set cnn = Nothing
   Exit Function
   
ExecuteSQL_Error:
   MsgString = "イ鰉ッエ﨔・ " & _
      Err.Description
   Resume ExecuteSQL_Exit
End Function


我这里日文VB6  没办法显示出中文..

TOP

原帖由 .lemon. 于 2007-6-28 16:10 发表
回28楼..

你在国内市场上买的无论哪一款SQL2000 or 2005. 在默认设置下,是绝对不区别大小写的.

你有这种情况,只能说是特例.. 要么你的环境特别设置过,要么日文版的问题.




现在不区分大小写的很少了吧

基本都会区分的

不要争论这个问题了

我CTRL+F5 了下LZ的程序

无数变量没定义 甚至好有用到的函数连主体都没的

一个个注释 注释了几十个还是有错

LZ这程序到底哪弄来的

有原代码伐..

TOP

原帖由 .lemon. 于 2007-6-28 16:22 发表


不想扯这个问题了..

翻baidu我也会..

SQL在安装的时候是有一个大小敏感的问题..

之前教我软件的那人给过我一个先入为主的概念,即,SQL类VB语言在默认情况下不区别大小写..



在C# 之前 VB和 VB.NET 都不区分大小写

但是现在已经2007年了....

TOP

原帖由 马小玲的眼泪 于 2007-6-28 16:50 发表
转移话题了。。- -

我可能知道问题了,有朋友说此程序是VB5编写的,我这里编译环境都是VB6,有些语法变了。。





先是因为数据库加了下面这句
   If mrc Is Nothing Then
    Return
   End If
   
再把    'If mrc.EOF = True Then 改成
    If mrc.RecordCount <= 0 Then

但是除了这个事件下的问题外

其他还有好多好多错

怎么改..

TOP


UserName = mrc.Fields(0)
  txtSQL = "select UID from userinfo where PWD='" & Trim(txtPassword.Text) & "'"
改成
   UserName = mrc.Fields(0)
    txtSQL = "select UID from userinfo where UID='" & UserName & "'"
    txtSQL = txtSQL & " AND PWD='" & Trim(txtPassword.Text) & "'"

好象逻辑就对了

TOP

豆腐
小处男的车队打H撞光了..

TOP

明天你看着办吧
我们车队一起去..
非把他砸平

TOP

返回列表