VB编程向access数据库表所有列插入数据,但列数是个变量?vb编程怎么弄,源代码?
展开全部
假设:你已经与access数据库建立了连接cn
窗体中添加一个DataGrid控件,比如控件名为DataGrid1,然后在窗体的加载事件中写如下代码:
Private Sub Form_Load()
'定义记录集rsg
Dim rsg As New ADODB.Recordset
'打开记录集rsg。以字段ID升序排列的数据库bgb表
rsg.CursorLocation = adUseClient
rsg.Open "SELECT * FROM bgb Order By ID", cn, 3, 3
'给DataGrid1控件添加数据源为记录集rsg
Set DataGrid1.DataSource = rsg
If Not rsg.EOF Or Not rsg.BOF Then rsg.MoveLast
End Sub
通过上面的代码,就可以让DataGrid1控件显示数据库中的bgb表了。
每向DataGrid1控件中添加一行数据,数据库中的bgb表就会增加一条记录。。
窗体中添加一个DataGrid控件,比如控件名为DataGrid1,然后在窗体的加载事件中写如下代码:
Private Sub Form_Load()
'定义记录集rsg
Dim rsg As New ADODB.Recordset
'打开记录集rsg。以字段ID升序排列的数据库bgb表
rsg.CursorLocation = adUseClient
rsg.Open "SELECT * FROM bgb Order By ID", cn, 3, 3
'给DataGrid1控件添加数据源为记录集rsg
Set DataGrid1.DataSource = rsg
If Not rsg.EOF Or Not rsg.BOF Then rsg.MoveLast
End Sub
通过上面的代码,就可以让DataGrid1控件显示数据库中的bgb表了。
每向DataGrid1控件中添加一行数据,数据库中的bgb表就会增加一条记录。。
追问
先谢谢了啊,不过你没明白我的意思,我的意思是当我的数据库表有10列的时候,我要将10个数据插入数据库表中,当我的数据库表中有13列的时候,我要将13个数据插入其中,也就是我的数据库表中的列数是不确定的,这个怎么弄?
追答
呵呵,开始我就弄明白了你的要求,只是不知道你的数据是从哪来的?所以就按照DataGrid1控件给出了回答。。
即使你在追问中都没有说要插入数据库表中的数据从哪里获得~~因此,下面的回答还是只能靠猜测你的意思了。。
你可以对上面的代码稍加修改来做实现你的要求。其中:
rsg.Fields.Count是数据库表bgb的总列数
变量I代表每列,应该从0开始
rsg(I) = "你的数据来源" 。这里,由于不能确定表的列数,“你的数据来源”需要定义到数组(或数组控件)里面,且数组包含的元素数一定要大于或等于数据库表的总列数,不然会出现错误。比如你可以把数据来源定义到文本框TEXT()数组控件里面,这样,就变成了:rsg(I) = TEXT(I)
代码如下:
rsg.AddNew
For I = 0 To rsg.Fields.Count - 1
rsg(I) = "你的数据来源"
Next
rsg.Update
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询