Tag: ms access 2007

使用Ado.net阅读Ms Access

我在C#中读取数据库(Ms Access)。 我正在使用Ado.net进行连接。 这个数据库有很多表(大约100个),每个表有大约50列和500行。 每个字段包含不同的数据类型(整数,字符串,布尔)。 我要做的是我必须将选定的表和字段转换为二进制格式。 经过一些文献调查后,我计划使用’DataReader’读取数据,因为我只需要为二进制转换读取变量。 我的问题是 在C#编程方面应该是什么样的数据结构? 说如果我为所有表创建单独的类并定义成员变量和方法,我怎样才能使它更有效? 因为我已经提到有100个表和50个字段,实际上我不需要选择所有字段(我只需要选择所需的字段)。 我不想像它那样硬编码(例如) SELECT BusinessEntityID, LoginID, NationalIDNumber from table1Name 因为我必须遍历选定的表和我的代码中提到的选定字段。 由于我对SQL有点新意,能不能提供一些提示? 换句话说,如果我问如何使用表和字段的变量使选择查询有效(如果这个问题有任何问题,请纠正我) 更新 下面提到的SQL Server SELECT INTO @variable?

为什么MS Access 2007不允许插入行,但是在下次插入尝试时允许它?

我的插入声明是: INSERT INTO myTable (inst_id,user_id,app_id,type,accessed_on) VALUES (3264,2580,’MyApp’,’Renew’,Now); …所有值格式正确的地方。 该表具有上述字段和另一个,长int自动增量键字段。 外键是’inst_id’,’user_id’和’app_id’。 我从Access收到此错误: …以及错误输出时VS 2005中的以下错误: System.Data.OleDb.OleDbException:您向表请求的更改未成功,因为它们将在索引,主键或关系中创建重复值。 更改包含重复数据的字段或字段中的数据,删除索引或重新定义索引以允许重复条目,然后重试。 在进行此插入查询时,我可以查看数据库并查看每个外键值是否存在于各自的表中并且已经持续数月(对于我正在使用的特定示例)。 这些字段也设置为我可以有重复,所以这不是问题。 在其他表格中这种性质的呼叫效果很好。 我不需要在插入查询中提供自动增量键值,它会自动为我添加(就像它应该)。 奇怪的是,如果我在我的代码中执行此操作: try { //Execute the query here… } catch { //Execute the same query again } …或者如果我只是尝试在Access中执行两次,它就可以了。 有没有人遇到过这个? 同样,这种类型的插入适用于其他表,所有外键都存在于它们各自的表中,该表的主键设置为’自动增量’,并且所有字段(当然不是主键字段)是设置为允许重复。 有任何想法吗? 编辑:插入前最大的键: 343085 。 插入后最大的密钥: 343086 。 格式为: id: AutoNumber (Field Size=Long Interger, New Values=Increment, Indexed=Yes – […]

x64应用程序访问mdb数据库

我有一个需要在x64平台下构建的应用程序。 我需要访问.mdb文件。 通过访问我的意思,插入,删除或更新数据库。 我在使用Jet OLE数据库和ODBC驱动程序时遇到问题。 使用OLE db,它显示“Jet Oledb未注册”。 ODBC平台驱动程序和应用程序之间不匹配。 我可以在X86平台上进行这些操作。 但在我的应用程序中,我被要求在x64平台下构建我的项目。 任何人都可以为我提供任何解决方案。 注意我不应该使用任何第三个应用程序与x64应用程序和数据库进行通信。 感谢您提前做出的任何回复。

system.data.oledb.oledbexception(0x80004005):找不到文件

有人可以帮我解决这个错误吗? 我无法弄明白。 我在Windows XP上有这个错误但在Windows 7上没有。我做的是我附上一张照片并将其保存到数据库(MS Access作为我的数据库)。 照片出现在图片框上,但之后就是一团糟。 我正在使用C#。

查询名称中包含空格的表

我有一个情况,我有一个名为Gas Flow Rates的Access表,我想添加记录。 当我尝试为类似的表Common Station运行插入查询时,出现以下错误: “错误hy000:语法错误,在查询不完整查询子句中” 代码是: using System; using System.Data.Odbc; class MainClass { static void Main(string[] args) { string connectionString = “Dsn=Gas_meter”; string sqlins = “”; OdbcConnection conn = new OdbcConnection(connectionString); OdbcCommand cmdnon = new OdbcCommand(sqlins, conn); conn.Open(); try { cmdnon.CommandText = “INSERT INTO ‘Common station’ ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, […]

C#将表单中的数据插入到访问数据库中

我开始学习C#并且在使用单击按钮时,已经无法将文本框中的信息插入Access数据库。 我得到的问题是在添加过程中。 代码执行Try… Catch部分,然后返回错误说“Microsoft Access数据库引擎”,并没有提供任何线索。 这是代码: namespace WindowsFormsApplication1 { public partial class FormNewUser : Form { public FormNewUser() { InitializeComponent(); } private void BTNSave_Click(object sender, EventArgs e) { OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = @”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\kenny\Documents\Visual Studio 2010\Projects\Copy Cegees\Cegees\Cegees\Login.accdb”; String Username = TEXTNewUser.Text; String Password = TEXTNewPass.Text; OleDbCommand cmd = new OleDbCommand(“INSERT into Login […]