用DATAGRID不绑定方式读写数据库完全可以做到,但不是特殊原因没有必要这么做。

解决方案 »

  1.   

    我不知道为什么会显示“B”,你能不能描述详细点。
    先用 ADODC 建立连接,并测试边接通过。
    再设置 ADODC 的记录源属性,
    最后将 DATAGRID 的 DATASOURCE 设为 ADODC。
    这样可以连一个数据库。
      

  2.   

    第一: 用ADODC建立连接
    第二: 设置ADODC的RecordSource属性(用SQL语句,在此你即可用SQL语句过滤你要设置的内容)
          例如: SELECT 字段1,iif(字段2='A','B',字段2) AS 名称 From 表名
    第三: 将DBGRID的DATASOURCE设为ADODC即可附录: 由上述SQL过滤的字段内容不可改变,但是实现了你想要的功能.
         
      

  3.   

    ASC("A")=ASC("B")-1
    不懂说什么... 
      

  4.   

    自己做个DATAGRID嘛,
    这样才会发现自己原来也是个程序员呀:))
      

  5.   

    枫轻扬:
      不懂我才问的!会了还问你?
      ASC表示什么意思?
      解决了给你20分!
      

  6.   

    1.DATAGRID不能工作在非绑定模式!
    2.你这样做有何意义?
      

  7.   

    可以引用微软数据格式化对象库(Microsoft Data Formatting Object Library) 格式化对象技术是 VB6 的增强功能。其最大优点是可以通过编程随心所欲地格式化数据(可参阅 MSDN )。
      

  8.   

    定义两个recordset(rs1、rs2),rs1用来打开数据库,取得真正的数据,然后用rs2.fields.append分别添加rs1的所有字段,再将所有记录赋给rs2,在rs2中把"A"改为“B”,然后绑rs2到datagrid上。这样不会影响数据库中的数据
      

  9.   

    试试在ADODC的SQL语句中用CASE...WHEN语句
      

  10.   

    例程下载:
    http://microinfo.top263.net/Zip/Format.exe原文: http://microinfo.top263.net/Txt/Format.txt
    微信软件工作室 (MicroInfo Soft Studio) 于溪玥(PlayYuer) 2000/02/01 帖:
    《VB6 之数据格式化对象使用技巧》    Visual Basic 提供了许多工具以满足数据访问编程的需要,其中引用微软数据格式化对象库
    (Microsoft Data Formatting Object Library) 格式化对象技术是 VB6 的增强功能。其最大优
    点是可以通过编程随心所欲地格式化数据(可参阅 MSDN )。下面以格式化 DataGrid 各列数据为
    例,演示数据格式化对象的使用方法。首先,根据 DataGrid 各列的数据类型,确定格式化后的格式:
          布尔(Boolean)型数据:True = 是;False = 否;
          数字(Number)型数据:格式化为大写;
    其次,确认工程已经引用(Reference)了Microsoft Data Formatting Object Library。
    再次,在窗体上绘制一个DataGrid控件。
    接下来,就可以编写代码了:1.声明带 WithEvents 关键字的 StdDataFormat 对象类型的窗体模块级的私有变量,作为大写
      格式的数据格式对象:  Option Explicit
      Private WithEvents FmtX As StdDataFormat
    2.编写Private Sub Form_Load()事件过程:  Private Sub Form_Load()
      '创建含有货币、布尔、数字型字段的记录集
      Dim adoRecordset As New ADODB.Recordset
      adoRecordset.Fields.Append "Fld1", adCurrency, , adFldIsNullable + adFldMayBeNull
      adoRecordset.Fields.Append "Fld2", adBoolean, , adFldIsNullable + adFldMayBeNull
      adoRecordset.Fields.Append "Fld3", adDouble, , adFldIsNullable + adFldMayBeNull
      adoRecordset.Open
      adoRecordset.AddNew Array("fld1", "fld2", "fld3"), Array(1001231.01, True, 634532.23)
      adoRecordset.AddNew Array("fld1", "fld2", "fld3"), Array(1000.23, False, 89758242)  Set DataGrid1.DataSource = adoRecordset  FormatDataGrid DataGrid1
      End Sub
    3.编写一个过程,格式化 DataGrid,可在需要的时机调用:  Sub FormatDataGrid(DataGridX As DataGrid)
          Dim FmtY As New StdDataFormat '用于布尔型字段格式
          FmtY.Type = fmtBoolean
          FmtY.TrueValue = "是" '"真" "对"
          FmtY.FalseValue = "否" '"假" "错"      Set FmtX = New StdDataFormat '实例化用于格式化货币型字段的对象
          FmtX.Type = fmtCustom '用于货币型字段格式      Dim adoRecordsetX As ADODB.Recordset
          Set adoRecordsetX = DataGridX.DataSource      Dim i As Integer
          For i = 0 To adoRecordsetX.Fields.Count - 1
              With DataGridX.Columns.Item(i)
                    Select Case adoRecordsetX.Fields.Item(i).Type  '可根据字段数据类型设置数据格式
                          Case adNumeric, adVarNumeric, _
                                adBigInt, adUnsignedInt, adUnsignedTinyInt, _
                                adUnsignedSmallInt, adUnsignedBigInt, _
                                adInteger, adSmallInt, adBigInt, adTinyInt, _
                                adDecimal, adDouble, adSingle '与数字有关的数据类型
                                .DataFormat.Format = "Standard"
                                .Alignment = dbgRight
                          Case adCurrency '货币型
                                Set .DataFormat = FmtX
                                .Alignment = dbgRight
                          Case adBoolean
                                Set .DataFormat = FmtY '布尔型字段设为自定义格式
                                .Alignment = dbgCenter
                          Case adDate, adDBDate, adDBTimeStamp
                                .DataFormat.Format = "Long Date" '日期、时间
                                .Alignment = dbgRight
                          Case Else '其它,如:文本等
                                .Alignment = dbgLeft
                        End Select
              End With
          Next i
      End Sub
    4.编写数据格式化对象的格式化 (Format) 事件过程:  Private Sub FmtX_Format(ByVal DataValue As StdFormat.StdDataValue)
      '读者可自行编写将数字转化为大写的函数!例如(附录: NtoC 函数):
      DataValue = NtoC(Trim(Str(DataValue)), "圆", "角", "分")
      End Sub  (该方案在 PWin 9.X 和 VB 6.0 下通过。)
        数据格式化对象,可以用于格式化各种具有 DataFormat 属性的控件,程序员可以将数据显示
    为各种格式。如果格式非常简单,可以使用传统的 Format 函数。如果格式布尔型数据,可以使用
    过程级的数据格式化对象。如果格式非常复杂,情况很多,则须使用窗体模块级的带事件数据格式
    化对象,并编程该对象的 Format 等事件。(欢迎去 Http://microinfo.top263.net 下载例程)
      

  11.   

    select fieldname=case when 'A' then 'B' from tablename