datagridview的问题。
Dim cn As System.Data.OleDb.OleDbConnectionDim da As System.Data.OleDb.OleDbDataAdapter
Dim ds As New System.Data.DataSet
Dim bs As New BindingSource
cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=D:\My Documents\accedb\jcdws.mdb;")
cn.Open()
da = New System.Data.OleDb.OleDbDataAdapter("select * from WenShu", cn)
ds = New DataSet
Dim tb As New DataTable
da.Fill(tb)
DataGridView1.Refresh()
bs.DataSource = tb
DataGridView1.DataSource = bs
BindingNavigator1.BindingSource = bs
这是我用DATAGRIDVIEW制作的一个显示数据库,同时绑定BINDINGNAVIGATOR,用于浏览。
但我无论如何,都无法保存修改的数据 。
保存后的代码应该如何写呢?
--------------------编程问答-------------------- CSDN的大虾们呢? --------------------编程问答-------------------- 给你一个我的保存方法
/// <summary>
/// 写入文件
/// </summary>
public static void WriteLog(string logFile, string msg)
{
try
{
System.IO.StreamWriter sw = System.IO.File.AppendText(
LogPath + LogFielPrefix + logFile + " " +
DateTime.Now.ToString("yyyyMMdd") + ".Log"
);
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") + msg);
sw.Close();
}
catch
{ }
} --------------------编程问答-------------------- 你应该要用到OleDbDataAdapter的Updata方法. --------------------编程问答--------------------
da.update()
方法是没有问题。我也知道要用这个方法。问题是,如何把DGV的数据以表格的形式传回来。
da.update(datagridview1.getchanges())不行。
我前面用的da.fill(tb)
然后bs.datasource = tb
后面怎么把修改后的dgv,以表格形式传回da?
以前写过一个准确的,记得只有两句代码.
现在怎么都想不起来了。
--------------------编程问答--------------------
不用UPDATE只怕不行。我以前写过,肯定是要用UPDATE的。只是da.update(??),我就不知道怎么写了。
--------------------编程问答-------------------- CSDN的大神们都彻底消失了吗?这么简单的问题也没人回答? --------------------编程问答--------------------
da.update()的参数写的不对吧 --------------------编程问答-------------------- Public Class Form1
Dim cn As System.Data.OleDb.OleDbConnection
Dim da As System.Data.OleDb.OleDbDataAdapter
Dim ds As New System.Data.DataSet
Dim bs As New BindingSource
Dim tb As New DataTable
Dim cb As New OleDb.OleDbCommandBuilder
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
BindingNavigator1.Items("BindingNavigatorDeleteItem").Visible = False
cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=D:\My Documents\accedb\jcdws.mdb;")
cn.Open()
da = New System.Data.OleDb.OleDbDataAdapter("select * from WenShu", cn)
ds = New DataSet
da.Fill(tb)
cb.DataAdapter = da
DataGridView1.Refresh()
bs.DataSource = tb
DataGridView1.DataSource = bs
BindingNavigator1.BindingSource = bs
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
da.Update(tb)
End Sub
End Class
改成这个样子了,他说我“查询过于复杂?”
有没有别的办法?
补充:.NET技术 , VB.NET