用ADO.net连接access2003的奇怪问题,着急,在线等。

问题描述

公司让我写个抽奖的小程序,我打算用access座数据库,可是代码都是对的,运行也没有任何错误,就是写不到数据库里面去,但是可以查询。代码如下,为了偷懒用的commandbuilder。直接用oledbcommand也写不进去是过了,烦了我两天这问题,求大虾们帮忙OleDbConnectionconn=newOleDbConnection(ConfigurationSettings.AppSettings["AccessConnString"]);OleDbCommandcomm=newOleDbCommand("select*fromprizeConfig",conn);OleDbDataAdapteradapter=newOleDbDataAdapter(comm);OleDbCommandBuilderbuilder=newOleDbCommandBuilder(adapter);DataSetds=newDataSet();adapter.Fill(ds);DataRowdr=ds.Tables[0].NewRow();dr["prizeName"]="aa";ds.Tables[0].Rows.Add(dr);adapter.Update(ds);

解决方案

解决方案二:
顶上去,怎么没有人再阿??
解决方案三:
你试试添加适配器的插入命令adapter.insertCommand="insertinto.....";
解决方案四:
OleDbCommandInsertCommand=newOleDbCommand();InsertCommand="insertinto....";//...省略InsertCommand的属性设置,你去查一下资料插入的参数怎么设置,问题应该就出在这了adapter.InsertCommand=InsertCommand;
解决方案五:
xxx
解决方案六:
数据库没主键,搞个主键就OK
解决方案七:
你不用DataSet来更新数据,直接用适配器的insertCommand命令很方便的,给你个实例看看,不过是sqlserver的,你把Sql改成OleDb就行了,原理一个样SqlConnectionconn=newSqlConnection(strConn);conn.Open();SqlDataAdapteradp=newSqlDataAdapter();//创建一个往MSSQL里插入数据的Command,并赋给AdapterSqlCommandcmd1=newSqlCommand("InsertintotblEntity(Entity_Id,Entity_Name)Values(@Entity_Id,@Entity_Name)",conn);adp.InsertCommand=cmd1;//设置Insert命令的参数与相应的字段,如下:@Entity_Id是参数,Entity_Id是DataSet中的字段名adp.InsertCommand.Parameters.Add("@Entity_Id",SqlDbType.Char,10,"Entity_Id");adp.InsertCommand.Parameters.Add("@Entity_Name",SqlDbType.VarChar,50,"Entity_Name");//执行UPDATE,更新数据adp.Update(ds1);

解决方案八:
利用Access数据库的时候,连接字符串部分的设置一定要包含mode=readwrite属性部分,默认是readonly.这也是能够查询不能够更新、删除、插入的问题所在,希望能够帮助你
解决方案九:
//请细看OleDbConnectionconn=newOleDbConnection(ConfigurationSettings.AppSettings["AccessConnString"]);//创建连接OleDbDataAdapteradapter=newOleDbDataAdapter("select*fromprizeConfig",conn);//创建adapterDataSetds=newDataSet();//创建DataSet对象adapter.Fill(ds);//把查询数据填充到数据集ds中DataRowdr=ds.Tables[0].NewRow();dr["prizeName"]="aa";ds.Tables[0].Rows.Add(dr);//更新OleDBCommandBuilderbuilder=newOleDBCommandBuilder(adapter);adapter.Update(ds);
解决方案十:
publicstaticreadonlystringDBDriver="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=";privatestaticstringDBConnectionString=(DBDriver+access全路径+access文件名);publicstaticvoidDoSql(stringsql){OleDbConnectionconnection=newOleDbConnection();connection.ConnectionString=DBConnectionString;connection.Open();newOleDbCommand(sql,connection).ExecuteNonQuery();connection.Close();}sql放什么就执行什么!不返回结果!使用DDL

时间: 2024-11-08 22:33:29

用ADO.net连接access2003的奇怪问题,着急,在线等。的相关文章

PHP通过ADO方式连接Access

PHP通过ADO方式连接Access数据库,如下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  &

ADO.NET连接池FAQ

ado 摘要 连接池允许应用程序从连接池中获得一个连接并使用这个连接,而不需要为每一个连接请求重新建立一个连接.一旦一个新的连接被创建并且放置在连接池中,应用程序就可以重复使用这个连接而不必实施整个数据库连接创建过程. 当应用程序请求一个连接时,连接池为该应用程序分配一个连接而不是重新建立一个连接:当应用程序使用完连接后,该连接被归还给连接池而不是直接释放. 如何实现连接池 确保你每一次的连接使用相同的连接字符串(和连接池相同):只有连接字符串相同时连接池才会工作.如果连接字符串不相同,应用程序

关于ADO.NET连接池

前几天同事问我一个问题,一种CS架构的程序,直接把SQL Server作为服务端,每个客户端直接连接数据库操作,如果客户端打开的数量过多时SQL Server的连接数将会特别高,数据库端形成性能瓶颈,这种情况下怎么办?想了想,造成这种情况的原因是ADO.NET的内部机制造成的.ADO.NET中为了提高性能,所以使用了连接池,这样每个请求就不必都创建一个连接,然后认证,然后执行SQL,而是从连接池中直接取出连接执行SQL,执行完成后也并不是真正关闭连接,而是将该连接重新放回连接池中.如果有100个

sql server-MFC用ADO方式连接SQL Server2005出问题啦啊!

问题描述 MFC用ADO方式连接SQL Server2005出问题啦啊! 解决方案 解决方案二: 解决方案三: 怀疑应该是那个连接字符串写的有问题...可是我不会写那个字符串啊...好烦躁 谢谢谢谢!!!!! 解决方案四: MFC 连接SQL SERVER(ODBC方式)ADO连接SQL SERVER的两种方式MFC使用ADO连接SQL Server

代码-php通过ado方式连接access数据库的问题?

问题描述 php通过ado方式连接access数据库的问题? 代码如下 <?php echo 'hello1'; $conn = @new COM("ADODB.Connection") or die ("ADO Connection faild."); echo 'hello2'; $connstr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=".realpath("db.md

解决方案-vc++ 采用ado方式连接access数据库

问题描述 vc++ 采用ado方式连接access数据库 连接数据库代码如下,当解决方案平台采用win32时,数据库连接正确,当采用x64时抛出异常(0x800aA0E7A)请问在x64下如何连接access数据库? #import ""c:program filescommon filessystemadomsado15.dll"" no_namespace rename(""EOF""adoEOF"")

Ado.Net连接池的速度测试

晚上闲来无事,突然想测试一下Ado.Net连接池带来的连接速度提升,写了以下代码:    1using System; 2using System.Configuration; 3using System.Data.SqlClient; 4using System.Diagnostics; 5 6namespace ConsoleApplication1 7{ 8    class Program 9    {10        static void Main(string[] args)11

java jdbc连接access2003数据库,读取中文乱码问题

问题描述 我用jdbc连接access2003数据库,表中有个字段类型是"文本"类型.该字段中的数据是中文的,我用rs读取是乱码.在网上搜索解决方案,说是可以用编码转换的方式解决,但是我使用该方法仍然显示乱码,求帮忙,谢谢!部分代码如下:Connection conn = getConnection(tableUrl);ResultSet rs = null;Statement statement = null;statement = conn.createStatement();rs

ADO.Net连接SQL Azure数据库详解

ADO.Net连接SQL Azure数据库教程详解 在.Net环境下,连接数据库最常用的方法是使用ADO.Net.在SQL Azure环境下,ADO.Net 可以继续使用,这样对于.Net环境下的开发者来说,不用学习新的知识与技能就可以很容易 的连接到SQL Azure数据库上,这也符合微软所一直在宣传的云计算战略,减少了单独学习云 应用开发的成本. 要使用ADO.Net连接SQL Azure,有两种方法,一种是通过SQL Azure的门户管理页面提供 的连接字符串来连接;另一种方法是在程序里硬