返回列表 发帖
原帖由 马小玲的眼泪 于 2007-6-28 15:44 发表
虽然各位尚未解决,但依然感谢各位的热心,暂奉上微薄积分。。

如果哪位朋友机器上恰好装了VB+SQL,能够帮忙调试,那就大好了。。


问题是你好多方法都是封装好的..

比如那ExecuteSQL..
其实时间总是那么快

TOP

来。关于区分大小写问题,我们补充一个基本知识。
关于区分大小写问题,sqlserver是可以区分的,默认是不区分。

那么怎么样做到可以区分呢?
我们在create table时经常会碰到这样的语句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?

Windows_collation_name 是 Windows 排序规则的排序规则名称。参见 Windows 排序规则名称。
SQL_collation_name 是 SQL 排序规则的排序规则名称。参见 SQL 排序规则名称。

排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
  Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀 含义:
  _BIN 二进制排序
  _CI(CS) 是否区分大小写,CI不区分,CS区分
  _AI(AS) 是否区分重音,AI不区分,AS区分   
  _KI(KS) 是否区分假名类型,KI不区分,KS区分 
    _WI(WS) 是否区分宽度 WI不区分,WS区分 


ok.结束,别说的那么绝对,撒sqlserver不区分大小写

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

回28楼..

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

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

TOP

原帖由 蜡烛鞭三郎 于 2007-6-28 16:08 发表
ExecuteSQL没有封装

在MOD模块里

Public Function ExecuteSQL(ByVal SQL _
   As String, MsgString As String) _
   As ADODB.Recordset
'executes SQL and returns Recordset
   Dim cnn As ADODB. ...


那就是我记不大得了..

你有vb环境把她改下就好了..

很简单的一个登陆 扯这么多出来..
其实时间总是那么快

TOP

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

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

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




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

基本都会区分的

不要争论这个问题了

我CTRL+F5 了下LZ的程序

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

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

LZ这程序到底哪弄来的

有原代码伐..

TOP

原帖由 tenshinx 于 2007-6-28 16:08 发表
来。关于区分大小写问题,我们补充一个基本知识。
关于区分大小写问题,sqlserver是可以区分的,默认是不区分。

那么怎么样做到可以区分呢?
我们在create table时经常会碰到这样的语句,例如:CityName nv ...


有意义么?

有必要单独设置一下,到时候出现兼容问题?
其实时间总是那么快

TOP

程序的是lolicon给的,他说,这程序再某些机器上没有问题,但在某些机器上报错。。

程序出处是某书上附送的,以前他可以用,现在他数据库坏了,无法调试。。。- -

[ 本帖最后由 马小玲的眼泪 于 2007-6-28 16:15 编辑 ]

TOP

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

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

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

看我31楼的贴。。。。别无事我- -

TOP

............

原来不是摘过来的..
其实时间总是那么快

TOP

没必要要这东西干嘛。。。你当ms傻子啊

TOP

原帖由 tenshinx 于 2007-6-28 16:16 发表

看我31楼的贴。。。。别无事我- -


不想扯这个问题了..

翻baidu我也会..

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

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

TOP

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


不想扯这个问题了..

翻baidu我也会..

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

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



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

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

TOP

翻baidu也是学习,有不懂的呢就要学习

TOP

.额...

好的,你们赢了..

之前我是把一个几乎没人去关心的问题潜移默化的当做即存事实..

是饿..2007年了,语言都应该来用区别大小证明它是否更高级..
其实时间总是那么快

TOP

返回列表