我用VB.NET编程操作ACCESS为什么不能做插入修改?查询可以~~~~~~~~

wangdongxing01 2010-04-09 02:32:12
我现在用VB.NET对ACCESS做数据操作.估计数据连接应该没问题,查询操作可以查出数据,可当做插入操作时.能执行,执行中也没有报错,但是就是表里没有插入想对应的数据.SQL语句打出来,在查询分析器里也可以执行.这是为什么,另外修改操作也是这个问题.实在是找不出错误.如果谁有更好的操作ACCESS做增改的数据操作类,麻烦分享一下我在试试也行,郁闷~~~~~~~
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang286104091 2010-04-09
  • 打赏
  • 举报
回复
也晕了,我建议你设个断点,先从连接开始查看是否成功,然后看语句,最后看执行的返回值,成功还是失败,然后找具体哪段代码的问题,在贴出来。OK?
qshurufa 2010-04-09
  • 打赏
  • 举报
回复
看着有些晕。你输出异常看看是什么错误
wangdongxing01 2010-04-09
  • 打赏
  • 举报
回复
上面的是数据操作类.
Dim sss As Veehu.MyDB = New Veehu.MyDB

Dim sqlString As String = "insert into ceshi(yinhang, kuan, xiang, mu, danwei, zijin) values('" & str & "','" & str1 & "','" & str2 & "','" & str3 & "','" & str4 & "','" & str5 & "')"
sss.RunSql(sqlString)
用的是数据操作类里面的RunSql方法.
执行没错误,还可以查询,就是插入和修改不了
wangdongxing01 2010-04-09
  • 打赏
  • 举报
回复
代码有点多啊.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Imports System.Configuration
Imports System.Runtime.InteropServices



Namespace Veehu

' 数据库访问
' by veehu.com

Public Class MyDB
Dim sConnString As String
Dim odb As DBInterface

ReadOnly Property DbType() As String
Get
Return sDbType
End Get
End Property

ReadOnly Property ConnString() As String
Get
Return sConnString
End Get
End Property

Public Sub New()

sConnString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\KAIYUAN.mdb")

odb = New DBOleDB(sConnString)

End Sub

Public Sub BeginTransaction()
odb.BeginTransaction()
End Sub

Public Sub Rollback()
odb.RollBack()
End Sub

Public Sub Commit()
odb.Commit()
End Sub

Public Sub RunSql(ByVal sql As String)
odb.RunSql(sql)
End Sub

Public Sub Close()
odb.Close()
End Sub

End Class

Public Interface DBInterface

Sub RunSql(ByVal sql As String)

Sub BeginTransaction()
Sub Rollback()
Sub Commit()
Sub Close()

End Interface

Public Class DBOleDB
Implements DBInterface


Dim _DBConn As OleDb.OleDbConnection
Dim _Adapter As OleDb.OleDbDataAdapter
Dim _DBCmd As OleDb.OleDbCommand
Dim _DBTrans As OleDb.OleDbTransaction


'构造函数
Public Sub New(ByVal strConn As String)
_DBConn = New OleDb.OleDbConnection(strConn)
_DBConn.Open()
_DBTrans = Nothing
End Sub

'打开连接
Private Sub Open()
If Not (_DBConn Is Nothing) Then
If _DBConn.State <> ConnectionState.Open Then
_DBConn.Open()
End If
End If
End Sub

Public Sub Close() Implements DBInterface.Close
If Not (_DBConn Is Nothing) Then
_DBConn.Close()
_DBConn = Nothing
End If
End Sub

'用于执行INSERT,UPDATE,DELETE语句
Public Sub RunSql(ByVal sql As String) Implements DBInterface.RunSql

Try
Open()
_DBCmd = New OleDb.OleDbCommand
_DBCmd.CommandText = sql
_DBCmd.Connection = _DBConn

If Not (_DBTrans Is Nothing) Then
_DBCmd.Transaction = _DBTrans
End If

_DBCmd.ExecuteNonQuery()

Catch ex As Exception
Throw ex
End Try
End Sub


Public Sub BeginTransaction() Implements DBInterface.BeginTransaction
_DBTrans = _DBConn.BeginTransaction()
End Sub

Public Sub Rollback() Implements DBInterface.Rollback
If Not (_DBTrans Is Nothing) Then
_DBTrans.Rollback()
_DBConn.Close()
_DBTrans = Nothing
End If
End Sub

Public Sub Commit() Implements DBInterface.Commit
If Not (_DBTrans Is Nothing) Then
_DBTrans.Commit()
_DBConn.Close()
_DBTrans = Nothing
End If
End Sub

End Class

Public Class DBSqlServer
Implements DBInterface

Dim _DBConn As SqlClient.SqlConnection
Dim _Adapter As SqlClient.SqlDataAdapter
Dim _DBCmd As SqlClient.SqlCommand
Dim _DBTrans As SqlClient.SqlTransaction

'构造函数
Public Sub New(ByVal strConn As String)
_DBConn = New SqlClient.SqlConnection(strConn)
_DBConn.Open()
_DBTrans = Nothing
End Sub

'打开连接
Private Sub Open()
If Not (_DBConn Is Nothing) Then
If _DBConn.State <> ConnectionState.Open Then
_DBConn.Open()
End If
End If
End Sub
'用于执行INSERT,UPDATE,DELETE语句
Public Sub RunSql(ByVal sql As String) Implements DBInterface.RunSql

Try
Open()
_DBCmd = New OleDb.OleDbCommand
_DBCmd.CommandText = sql
_DBCmd.Connection = _DBConn

If Not (_DBTrans Is Nothing) Then
_DBCmd.Transaction = _DBTrans
End If

_DBCmd.ExecuteNonQuery()

Catch ex As Exception
Throw ex
End Try
End Sub
Public Sub Close() Implements DBInterface.Close
If Not (_DBConn Is Nothing) Then
_DBConn.Close()
_DBConn = Nothing
End If
End Sub





Public Sub BeginTransaction() Implements DBInterface.BeginTransaction
_DBTrans = _DBConn.BeginTransaction()
End Sub

Public Sub Rollback() Implements DBInterface.Rollback
If Not (_DBTrans Is Nothing) Then
_DBTrans.Rollback()
_DBConn.Close()
_DBTrans = Nothing
End If
End Sub

Public Sub Commit() Implements DBInterface.Commit
If Not (_DBTrans Is Nothing) Then
_DBTrans.Commit()
_DBConn.Close()
_DBTrans = Nothing
End If
End Sub

End Class
End Namespace
qshurufa 2010-04-09
  • 打赏
  • 举报
回复
把你写的代码贴出来看看
net的最近面试经典试题ASP.NET面试题集合 1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 2 .列举ASP.NET 页面之间传递值的几种方式。 答. 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer 3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。 答:public class MainClass { public static void Main() { Console.WriteLine(Foo(30)); } public static int Foo(int i) { if (i 0 && i <= 2) return 1; else return Foo(i -1) + Foo(i - 2); } } 4.C#中的委托是什么?事件是不是一种委托? 答 : 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 5.override与重载的区别 答 : override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要 Override 是进行基类中函数的重写。为了适应需要。 6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? 答 : this.Server.Transfer 7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? 答: foreach (System.Windows.Forms.Control control in this.Controls) { if (control is System.Windows.Forms.TextBox) { System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; tb.Text = String.Empty ; } } 8.请编程实现一个冒泡排序算法? 答: int [] array = new int ; int temp = 0 ; for (int i = 0 ; i < array.Length - 1 ; i++) { for (int j = i + 1 ; j < array.Length ; j++) { if (array[j] < array) { temp = array ; array = array[j] ; array[j] = temp ; } } } 9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 答:不是。可以用任意类型。 10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m [Page] 答: int Num = this.TextBox1.Text.ToString() ; int Sum = 0 ; for (int i = 0 ; i < Num + 1 ; i++) { if((i%2) == 1) { Sum += i ; } else { Sum = Sum - I ; } } System.Console.WriteLine(Sum.ToString()); System.Console.ReadLine() ; 11.用.netB/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:一般为3层 数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。 业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。 表示层为了与用户交互例如用户添加表单。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。 12.在下面的例子里 using Sy
辅助软件 aspx/asp代码生成器 语言规范 C# Language Specification 1.2(C#语言规范1.2).doc C# Language Specification 2.0(C#语言规范2.0).doc 源码教程 ASP.NET编程技术与交互式网页设计 asp.net亲密接触_带源码 C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他议题.htm.txt 07_接口的执行.htm.txt 08_集合.htm.txt 09_运算符重载.htm.txt 10_阴影和深度复制.htm.txt 11_事件基础.htm.txt 12_事件进阶.htm.txt 13_读写Txt文件.htm.txt 14_StatusBar控件.htm.txt 15_自定义控件.htm.txt 16_使用打开保存文件对话框.htm.txt 17_图形绘制基础.htm.txt 18_图形绘制进阶-线条、字体.htm.txt 19_图形绘制进阶-图像(双倍缓冲).htm.txt 20_Windows应用程序安装部署概念.htm.txt 21_使用文件基础.htm.txt 22_使用文件高级.htm.txt 23_串行化和并行化.htm.txt 技术资料 ACCESS数据库操作类.txt ASP.NET常用代码.txt asp.net常用函数表.txt Asp.net的身份验证.txt ASP导出Excel数据的四种方法.txt C#调用存储过程.txt CheckBox控件.txt datagrid排序_选择_分页.txt DataSet对象.txt DotNET WinForm FAQ 16个.txt excel打印.txt EXCEL导出.txt EXCEL中合并单元格.txt mail.txt NET在RichTextBox控件加入图片(类似QQ).txt send.txt SQL储存过程等的解密.txt VisualC#打造“浏览器”.txt vs2005常用快捷键.txt webcontrol和pagelet.txt win2003中配置msdtc.txt word导出.txt 保证应用程序只有一个实例运行.txt 编辑字段中的word文件.txt 编码标准.txt 播放声音.txt 捕捉DataGrid的双击事件(C#版本).txt 不显示窗口后台运行程序.txt 储存过程.txt 处理“进程性能计数器被禁用”的错误.txt 串口操作.txt 打开word文件.txt 打造“浏览器”.txt 带图标和自定义颜色的ListBox.txt 得到当前数据库中所有用户表信息.txt 读取、设置系统时间日期.txt 读写注册表.txt 对过程进行加密.txt 二进制数据保存.txt 二进制数据字段的更新.txt 分页及动态创建列的控件 .txt 改变Windows服务的启动顺序.txt 各进制之间的转换.txt 给图片添加版权信息.txt 关于拖放操作.txt 关于在WinForm里用HttpWebRequest获得某个页面,并填写页面的textbox及点击button的方法.txt 画带阴影效果的文字.txt 环境信息.txt 获得光标在多行textbox中的行与列的函数.txt 计算控件中文字所占的宽度.txt 加半透明图片水印.txt 将控件放到datagrid中以及修改列宽.txt 截取系统消息.txt 解决VS.NET使用中属性框不显示的问题.txt 里的InputBox.txt 模拟鼠标和键盘操作.txt 取CPU的序列号.txt 如何:在VisualC#.NET中建立一个平滑的进度条.txt 如何得到网卡号.txt 如何调用WindowsAPI的要点.txt 如何控制输入法.txt 如何利用GDI作图解决异或问题.txt 如何取硬件标志.txt 如何让应用程序只有一个实例运行.txt 如何如何插入照片到Excel.txt 如何识别键盘左右的shift,Ctrl或Alt键.txt 如何水晶按钮的程序生成.txt 如何为DataGrid添加下拉列表框.txt 如何用C#在Excel中生成图表?.txt 如何用程序实现键盘和鼠标的模拟?.txt 如何与资源管理器互动剪切、拷贝、粘贴文件.txt 深入理解C#编程中的组件-事件-委托.txt 生成透明的GIF图片 .txt 生成压缩图片时的2种方法.txt 使用C#返回系统特殊路径.txt 使用VisualC#.NET检查Windows版本.txt 使用Win32和其他库.txt 使用自己画的光标.txt 数据绑定.txt 水晶报表使用winform.txt 水印.txt 特殊文件夹路径.txt 同一解决方案中一个项目的xml注释在另一个项目中不能智能提示显示这些注释的解决方法.txt 图像读取.txt 无标题窗口的拖放.txt 下面的5行代码完成了从局域网中找出所有的机器.txt 显示DataGrid序号的一个适用的方法.txt 用C#快速往Excel写数据.txt 用C#来捕获屏幕.txt 用C#ScreenSaver.txt 用imgscan.ocx来扫描图像.txt 用word填充表格.txt 用户登录组合控件.txt 在.NET中得到计算机硬件信息的一些功能.txt 在MapX中响应滚轮放大缩小地图.txt 在两个ASP.NET页面之间传递值.txt 在如何利用SharpZipLib进行文件的压缩和解压缩.txt 怎样打开关闭CDROM.txt 怎样检测网络中的电脑是否有安装SQL2000.txt 怎样写一个存储过程类来实现如何对存储过程的调用?.txt 直接拉入图片文件到程序窗口中打开.txt 指定Web服务器运行的不是ASP.NET1.1版.txt 字符串加密.txt 字幕显示屏幕保护.txt 自己动手用c#写控件.txt C#试题 简答题.txt 填空题.txt 问答题1.txt 问答题2.txt 选择题.txt 综合题.txt

16,554

社区成员

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

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