DataGrid读取数据出问题了,大家帮忙看看

时间:2022-06-25 09:34:21
我将DataGrid的DataSource属性设置为一个ADODC控件,同时也设置了文本框的DataField属性,运行后,数据能正常显示在DaTAGRID和文本框中,
我希望在浏览的时候,文本框无效,使用户不能修改,于是在设计时将文本框的ENABLED设置为非(或在代码中设置),可是运行提示“非空列不能更新为NULL”,点击确认后数据显示正常。
请问,是什么原因啊,有什么解决方法,大家帮帮忙啊
谢谢啊

5 个解决方案

#1


不建议使用ADODC,下面是数据库的一般操作,打开记录集后可以将字段放在textbox或赋给datagrid。

Private Sub DatabaseWork()
    '工程 ---> 引用 ---> Microsoft ActiveX Data Objects 2.x Library
    Dim Conn As New ADODB.Connection
    Dim Rs  As New ADODB.Recordset
    With Conn
        If .State = adStateOpen Then .Close
        '连接字符串: http://www.connectionstrings.com/
        .ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source="  App.Path  _
            "\test.mdb;Mode=ReadWrite;Persist Security Info=False"
        .Open
    End With
    
    If Rs.State = adStateOpen Then Rs.Close
    Rs.Open "SELECT * FROM TableName", Conn, adOpenKeyset, adLockReadOnly, adCmdText
    
    '赋记录集进 datagrid 控件,你也可在这里操作记录集。
    Set datagrid1.DataSource = Rs
    
    Rs.Close
    Set Rs = ntohing
    Conn.Close
    Set Conn = Nothing
End Sub

#2


可以使用mshfhlexgrid控件,它是只读绑定的

#3


不太清楚你为什么会这样。
我是在textbox的属性框里设置的enable=false
运行的时候没有错误。

#4


用同样的问题帮你UP

#5


有同样的问题帮你UP

#1


不建议使用ADODC,下面是数据库的一般操作,打开记录集后可以将字段放在textbox或赋给datagrid。

Private Sub DatabaseWork()
    '工程 ---> 引用 ---> Microsoft ActiveX Data Objects 2.x Library
    Dim Conn As New ADODB.Connection
    Dim Rs  As New ADODB.Recordset
    With Conn
        If .State = adStateOpen Then .Close
        '连接字符串: http://www.connectionstrings.com/
        .ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source="  App.Path  _
            "\test.mdb;Mode=ReadWrite;Persist Security Info=False"
        .Open
    End With
    
    If Rs.State = adStateOpen Then Rs.Close
    Rs.Open "SELECT * FROM TableName", Conn, adOpenKeyset, adLockReadOnly, adCmdText
    
    '赋记录集进 datagrid 控件,你也可在这里操作记录集。
    Set datagrid1.DataSource = Rs
    
    Rs.Close
    Set Rs = ntohing
    Conn.Close
    Set Conn = Nothing
End Sub

#2


可以使用mshfhlexgrid控件,它是只读绑定的

#3


不太清楚你为什么会这样。
我是在textbox的属性框里设置的enable=false
运行的时候没有错误。

#4


用同样的问题帮你UP

#5


有同样的问题帮你UP