DataGridView连接access(高手进)

cyd411 2008-09-06 06:23:15
求段DataGridView连接access数据的代码,并实现代码对DataGridView增加行



提示其中使用到DataSet(使用代码在DataGridView中添加行,好像必须用dataset吧)

...全文
418 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
JXHLY 2010-09-12
  • 打赏
  • 举报
回复
学习学习
cyd411 2008-09-08
  • 打赏
  • 举报
回复
稍后给分,希望能看到更多的回复学习到更对的知识
cyd411 2008-09-08
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 limeng0513 的回复:]
首先说明一点,dataset是没有行的,你所说的加行,是对dataset里的某个datatable进行加行。
通过你的提问,我觉得你对数据库操作的基本类都没有概念,建议你先了解一下基本知识,有个大概的认识,再看别人的代码,帮助更大一些。
[/Quote]

对数据库还有是了解的只是对dataset datatable了解的比较少以前没用过这个

今天白天看了一天,知道怎么用了,在进行datagridview的数据源绑定的时候要用到dataset.表

先感谢大家,我在继续研究下怎么实现跟新
zhoushi4560426 2008-09-08
  • 打赏
  • 举报
回复
有本书,vb.net+sql server全程指南,不错,你可以看看.估计能解决你平时的问题.
tfy_002 2008-09-08
  • 打赏
  • 举报
回复

dim dv as dataview

dim ds as new dataset

datagrid1.datasource=ds.tables(0)

dv=ds.tables(0).defaultview

dv.addnew()
破咖啡罐子 2008-09-08
  • 打赏
  • 举报
回复
首先说明一点,dataset是没有行的,你所说的加行,是对dataset里的某个datatable进行加行。
通过你的提问,我觉得你对数据库操作的基本类都没有概念,建议你先了解一下基本知识,有个大概的认识,再看别人的代码,帮助更大一些。
cyd411 2008-09-06
  • 打赏
  • 举报
回复
研究下回来发分,大家还可以继续发言我会加分的
cyd411 2008-09-06
  • 打赏
  • 举报
回复
我都查的是本地的msdn

难道网上的好吗?
wxg22526451 2008-09-06
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/support/system.data.datarowcollection_members.aspx
wxg22526451 2008-09-06
  • 打赏
  • 举报
回复
建议多查查MSDN,示例都有的。
wxg22526451 2008-09-06
  • 打赏
  • 举报
回复
添加行示例,删除类似。
Private Sub AddARow(dataSet As DataSet)
Dim table As DataTable = dataSet.Tables("Suppliers")
' Use the NewRow method to create a DataRow
'with the table's schema.
Dim newRow As DataRow = table.NewRow()

' Set values in the columns:
newRow("CompanyID") = "NewCompanyID"
newRow("CompanyName") = "NewCompanyName"

' Add the row to the rows collection.
table.Rows.Add(newRow)'删除就用Remove
End Sub


}
cyd411 2008-09-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wxg22526451 的回复:]
VB.NET code'修改Dataset后重新绑定
DataGridView.Datasoure=修改后的Dataset
[/Quote]

俺是怎么修改Dataset不老会的,呵呵,指点下,增加一行,删除一行
wxg22526451 2008-09-06
  • 打赏
  • 举报
回复
'修改Dataset后重新绑定
DataGridView.Datasoure=修改后的Dataset
JeffChung 2008-09-06
  • 打赏
  • 举报
回复

Sub addmdb(ByVal phonenum_a A String, ByVal pos_a As String, ByVal addr_a As String)
Dim cn As New OleDb.OleDbConnection
Dim dr As DataRow
Dim ds As New DataSet
Dim ds1 As New DataSet
Dim da As New OleDbDataAdapter
Dim str As String
Dim myDataRowsCommandBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(da)
str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Application.StartupPath + ( "/date/1040.mdb ")
cn.ConnectionString = str
da = New OleDbDataAdapter( "select * from mokuai ", cn)
da.Fill(ds, "mokuai ")
dr = ds.Tables( "mokuai ").NewRow
dr( "phonenum ") = phonenum_a
dr( "pos ") = pos_a
dr( "addr ") = addr_a
ds.Tables( "mokuai ").Rows.Add(dr)
Dim cb As OleDbCommandBuilder
cb = New OleDbCommandBuilder(da)
da.InsertCommand = cb.GetInsertCommand
If ds.HasChanges = True Then
ds1 = ds.GetChanges
End If
Try
da.Update(ds1, "mokuai ")
ds.AcceptChanges()
Catch ex As Exception
End Try
cn.Close()
End Sub
cyd411 2008-09-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxg22526451 的回复:]
指定数据源用DataTable或Dataset

MSDN:
下面的示例使用派生类 OleDbDataAdapter 来更新数据源。

VB.NET codePublic Function CreateCmdsAndUpdate(ByVal connectionString As String, _
ByVal queryString As String) As DataSet

Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter()
adapter.SelectCommand = New OleDbCommand(queryStr…
[/Quote]

主要是实现代码对DataGridView增加行

怎么对
Dataset 进行操作后,在返回到DataGridView
cyd411 2008-09-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 atlasroben 的回复:]
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
StringBuilder sdTable=new StringBuilder();

string strConnection = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath("counter.mdb");
//数据库路径及名称

// 连接数据库的语句
OleDbConnection conn = new OleDbConnection(strConnection);
// 建m立DbComand对象

[/Quote]

。。。。。。
这个是web的吧,俺是exe程序
wxg22526451 2008-09-06
  • 打赏
  • 举报
回复
指定数据源用DataTable或Dataset

MSDN:
下面的示例使用派生类 OleDbDataAdapter 来更新数据源。
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
ByVal queryString As String) As DataSet

Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter()
adapter.SelectCommand = New OleDbCommand(queryString, connection)
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(adapter)

connection.Open()

Dim customers As DataSet = New DataSet
adapter.Fill(customers)

' Code to modify data in DataSet here

adapter.Update(customers)
Return customers
End Using
End Function



cyd411 2008-09-06
  • 打赏
  • 举报
回复
哦?
原来是这样,现在弄的很迷茫
那DataSet的使用比较适合什么呢?
atlasroben 2008-09-06
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
StringBuilder sdTable=new StringBuilder();

string strConnection = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath("counter.mdb");
//数据库路径及名称

// 连接数据库的语句
OleDbConnection conn = new OleDbConnection(strConnection);
// 建m立DbComand对象
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM [counter]";
//表名counter要加[],不然会出错,因为counter是保留字
conn.Open();

OleDbDataReader dr = cmd.ExecuteReader();
sdTable.Append("<table border=1><tr>");
sdTable.Append("<td>ID</td><td>IP</td></tr>");
while(dr.Read())
{
sdTable.Append("<tr><td>");
sdTable.Append( dr["ID"].ToString()); //打印其中字段 ID
sdTable.Append("</td><td>");
sdTable.Append( dr["guestIP"].ToString()); //打印其中字段 guestIP
sdTable.Append("</td></tr>");
}
sdTable.Append("</table>");

// 记住dr用毕必须关闭,否则会阻塞服务器
dr.Close();

// DbConnection是受托管的,可以不关闭
// 但为良好的编程习惯,应该关闭
conn.Close();

Response.Write(sdTable);

}

本文摘自:拾金者(http://www.xkde.com) 详细出处参考:http://www.xkde.com/ComContent-92-12591.aspx
atlasroben 2008-09-06
  • 打赏
  • 举报
回复
1:datagridview的数据源一般是一个datatable,而access数据库你仅仅需要找到将access数据库内容读取到datatable的代码即可
2:datagridview的数据绑定,如果你需要后台添加新行到datagridview你如果是绑定的数据,那么在作为数据源的datatable中添加一行记录即可

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧