没什么功能 测试数据库的连接啊 原代码如下: *********************************************************** Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb") conn.Open() Dim ds As DataSet = New DataSet() Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn) Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) objadapter.Fill(ds, "users") Dim drow As Data.DataRow drow = ds.Tables("users").NewRow 'drow = ds.Tables("user") drow(1) = "zhonghua" drow(2) = "xiongshi" ds.Tables("users").Rows.Add(drow) drow = ds.Tables("users").NewRow drow(1) = "china" drow(2) = "first" ds.Tables("users").Rows.Add(drow) objadapter.Update(ds, "users") End Sub
我在SQL SERVER中试过了,你的表名USER是关键字,请你把user表的表名改成其它的试试
Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn) 行 24: Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) 行 25: objadapter.Fill(ds, "users")//这一行变为红色 行 26: Dim drow As Data.DataRow 行 27: drow = ds.Tables("users").NewRowUSER是SQLSERVER 的关键字。 将USER加上[]即可。 Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM [USER]", conn) 行 24: Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) 行 25: objadapter.Fill(ds, "users")//这一行变为红色 行 26: Dim drow As Data.DataRow 行 27: drow = ds.Tables("users").NewRow
改完后又出现这个错误提示**************************************************************************** INSERT INTO 语句的语法错误。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。源错误: 行 34: drow(2) = "first" 行 35: ds.Tables("users").Rows.Add(drow) 行 36: objadapter.Update(ds, "users")//着行变为红色 行 37: 行 38: End Sub
Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn) objadapter.Fill(ds, "users") Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) 换个位置试试
这一句: Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) 是不是可以不要。
代码如下:::(表名已改为us) ********************************************************** Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb") conn.Open() Dim ds As DataSet = New DataSet() Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM us", conn) objadapter.Fill(ds, "duser") Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) Dim drow As Data.DataRow drow = ds.Tables("duser").NewRow 'drow = ds.Tables("user") drow(1) = "zhonghua" drow(2) = "xiongshi" ds.Tables("duser").Rows.Add(drow) drow = ds.Tables("duser").NewRow drow(1) = "china" drow(2) = "first" ds.Tables("duser").Rows.Add(drow) objadapter.Update(ds, "duser") End Sub
I 服了 you!!!!!!!!!! 啊 又有新的一个问题〉〉???? ********************************************* “/text1”应用程序中的服务器错误。 --------------------------------------------------------------------------------操作必须使用一个可更新的查询。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误: 行 35: drow(2) = "first" 行 36: ds.Tables("duser").Rows.Add(drow) 行 37: objadapter.Update(ds, "duser") 行 38: 行 39: End Sub
原代码 ************************************* Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb") conn.Open() Dim ds As DataSet = New DataSet() Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM us", conn) objadapter.Fill(ds, "duser") Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) Dim drow As Data.DataRow drow = ds.Tables("duser").NewRow 'drow = ds.Tables("user") drow(1) = "zhonghua" drow(2) = "xiongshi" ds.Tables("duser").Rows.Add(drow) drow = ds.Tables("duser").NewRow drow(1) = "china" drow(2) = "first" ds.Tables("duser").Rows.Add(drow) objadapter.Update(ds, "duser") End Sub
我没有试过,但我认为 Dim ds As DataSet = New DataSet() 这句表明你没有生成自己的DataSet对象,我认为这地方你应该尝试用继承于DataSet对象的对象,不应该用这个基本类
Sqlstring = "SELECT * FROM USER"; string con="server=计算机名;database=数据库名;uid=sql用户名;password="; SqlConnection conn = new SqlConnection(con); conn.Open(); SqlDataAdapter MyConn = new SqlDataAdapter(Sqlstring,conn); DataSet ds = new DataSet();异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。 是不是要将Sqlstring = "SELECT * FROM USER"呀,这样可以改变。
楼上老兄你那是sql server数据库吧 我用的access数据库啊
这种方法连接sql server成功 access却不行
看清楚点好不好: Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn) objadapter.Fill(ds, "users")select语句里的表是User, 而fill语句里的是user"s", 多了一个s,根本就没有这个表.
测试数据库的连接啊
原代码如下:
***********************************************************
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb")
conn.Open()
Dim ds As DataSet = New DataSet()
Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn)
Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
objadapter.Fill(ds, "users")
Dim drow As Data.DataRow
drow = ds.Tables("users").NewRow
'drow = ds.Tables("user")
drow(1) = "zhonghua"
drow(2) = "xiongshi"
ds.Tables("users").Rows.Add(drow)
drow = ds.Tables("users").NewRow
drow(1) = "china"
drow(2) = "first"
ds.Tables("users").Rows.Add(drow)
objadapter.Update(ds, "users") End Sub
行 24: Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
行 25: objadapter.Fill(ds, "users")//这一行变为红色
行 26: Dim drow As Data.DataRow
行 27: drow = ds.Tables("users").NewRowUSER是SQLSERVER 的关键字。
将USER加上[]即可。
Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM [USER]", conn)
行 24: Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
行 25: objadapter.Fill(ds, "users")//这一行变为红色
行 26: Dim drow As Data.DataRow
行 27: drow = ds.Tables("users").NewRow
INSERT INTO 语句的语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。源错误:
行 34: drow(2) = "first"
行 35: ds.Tables("users").Rows.Add(drow)
行 36: objadapter.Update(ds, "users")//着行变为红色
行 37:
行 38: End Sub
objadapter.Fill(ds, "users")
Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
换个位置试试
数据库能自己处理的,为什么不交给数据库呢,为什么非要在程序内存里面建立虚拟表呢
表中主键为id
也要写成[user]
Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
是不是可以不要。
**********************************************************
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb")
conn.Open()
Dim ds As DataSet = New DataSet()
Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM us", conn)
objadapter.Fill(ds, "duser")
Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) Dim drow As Data.DataRow
drow = ds.Tables("duser").NewRow
'drow = ds.Tables("user")
drow(1) = "zhonghua"
drow(2) = "xiongshi"
ds.Tables("duser").Rows.Add(drow)
drow = ds.Tables("duser").NewRow
drow(1) = "china"
drow(2) = "first"
ds.Tables("duser").Rows.Add(drow)
objadapter.Update(ds, "duser") End Sub
呵呵。。可是和你一样找不出错误。都是关键字惹的祸!!!!!!!!!!!
快改掉那个 password的字段
应该没有问题拉
啊
又有新的一个问题〉〉????
*********************************************
“/text1”应用程序中的服务器错误。
--------------------------------------------------------------------------------操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误:
行 35: drow(2) = "first"
行 36: ds.Tables("duser").Rows.Add(drow)
行 37: objadapter.Update(ds, "duser")
行 38:
行 39: End Sub
*************************************
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb")
conn.Open()
Dim ds As DataSet = New DataSet()
Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM us", conn)
objadapter.Fill(ds, "duser")
Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter) Dim drow As Data.DataRow
drow = ds.Tables("duser").NewRow
'drow = ds.Tables("user")
drow(1) = "zhonghua"
drow(2) = "xiongshi"
ds.Tables("duser").Rows.Add(drow)
drow = ds.Tables("duser").NewRow
drow(1) = "china"
drow(2) = "first"
ds.Tables("duser").Rows.Add(drow)
objadapter.Update(ds, "duser") End Sub
Dim ds As DataSet = New DataSet()
这句表明你没有生成自己的DataSet对象,我认为这地方你应该尝试用继承于DataSet对象的对象,不应该用这个基本类
将user 改为 "user" 试试
string con="server=计算机名;database=数据库名;uid=sql用户名;password=";
SqlConnection conn = new SqlConnection(con);
conn.Open();
SqlDataAdapter MyConn = new SqlDataAdapter(Sqlstring,conn);
DataSet ds = new DataSet();异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
是不是要将Sqlstring = "SELECT * FROM USER"呀,这样可以改变。
我用的access数据库啊
access却不行
Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn)
objadapter.Fill(ds, "users")select语句里的表是User, 而fill语句里的是user"s", 多了一个s,根本就没有这个表.