更新数据时总是提示提示出错,想了半天不知问题出在哪里 Ole不能用@xxx做变量名的,sql语句中只能用?代替,然后顺序不能错。如果是SQL Server的话,就用SqlClient吧! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我按照 tonybaobao(Tony宝宝)所说的做了修改,还是不行 //试试这个, 根据tonybaobao(Tony宝宝)using System;using System.Data;using System.Data.OleDb;namespace ConsoleApplication8{ /// <summary> /// Class1 的摘要说明。 /// </summary> class Class1 { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { string constr="provider=sqloledb;Uid=sa;pwd=;initial catalog=NorthWind;data source=(local)"; OleDbConnection con=new OleDbConnection(constr); con.Open(); OleDbTransaction tran=null; tran=con.BeginTransaction(); OleDbCommand command=con.CreateCommand(); command.Connection=con; command.Transaction=tran; try { command.CommandText="insert into Books(BookID,BookName,Description,ISBN,Discontinued) values(@BookID,@BookName,@Description,@ISBN,@Discontinued)"; command.CommandText="insert into Books(BookName,Description,ISBN,Discontinued) values(?,?,?,?)"; command.CommandType=CommandType.Text; System.Data.OleDb.OleDbParameter [] parameters=new OleDbParameter[4]; parameters[0]=new System.Data.OleDb.OleDbParameter("@BookName",System.Data.OleDb.OleDbType.VarChar); parameters[0].Value="Office 2000"; command.Parameters.Add(parameters[0]); parameters[1]=new System.Data.OleDb.OleDbParameter("@Description",System.Data.OleDb.OleDbType.VarChar); parameters[1].Value="Book of Offiec 2000"; command.Parameters.Add(parameters[1]); parameters[2]=new System.Data.OleDb.OleDbParameter("@ISBN",System.Data.OleDb.OleDbType.VarChar); parameters[2].Value="980-45-458974"; command.Parameters.Add(parameters[2]); parameters[3]=new System.Data.OleDb.OleDbParameter("@Discontinued",System.Data.OleDb.OleDbType.Char); parameters[3].Value=0;; command.Parameters.Add(parameters[3]); command.ExecuteNonQuery(); tran.Commit(); } catch(Exception e) { tran.Rollback(); } finally { con.Close(); } } }} parameters[3]=new System.Data.OleDb.OleDbParameter("@Discontinued",System.Data.OleDb.OleDbType.Char); parameters[3].Value=0;; command.Parameters.Add(parameters[3]);数据库中Discontinued字段类型是什么??我怀疑是bit,如果是那样的化参数用OleDbType.Boolean试试看 aspnetdb装在局域网另外一台电脑上的使用方法 VS2003编译出现的问题 C# webBrowser1 模拟点击,求能用的 关于句柄的问题 简单的问题,在线,得到正解即揭帖! C#修改数据出错 XP中有没有哪个文件存放48*48的图标? 求关于视图调用存储过程的问题 关于一个进程结束另外一个带有NotifyIcon托盘的进程残留图标问题 如何动态获取JPG 图片 调一个外部COM对象,放在主进程中调用的时候没问题,但放在线程里面就调不起来了,请大家帮忙分析分析 请问windows datagrid中的滚动条是自动出现的还是可以自己设置的
using System.Data;
using System.Data.OleDb;
namespace ConsoleApplication8
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
string constr="provider=sqloledb;Uid=sa;pwd=;initial catalog=NorthWind;data source=(local)";
OleDbConnection con=new OleDbConnection(constr);
con.Open();
OleDbTransaction tran=null;
tran=con.BeginTransaction();
OleDbCommand command=con.CreateCommand();
command.Connection=con;
command.Transaction=tran;
try
{
command.CommandText="insert into Books(BookID,BookName,Description,ISBN,Discontinued) values(@BookID,@BookName,@Description,@ISBN,@Discontinued)";
command.CommandText="insert into Books(BookName,Description,ISBN,Discontinued) values(?,?,?,?)";
command.CommandType=CommandType.Text;
System.Data.OleDb.OleDbParameter [] parameters=new OleDbParameter[4];
parameters[0]=new System.Data.OleDb.OleDbParameter("@BookName",System.Data.OleDb.OleDbType.VarChar);
parameters[0].Value="Office 2000";
command.Parameters.Add(parameters[0]);
parameters[1]=new System.Data.OleDb.OleDbParameter("@Description",System.Data.OleDb.OleDbType.VarChar);
parameters[1].Value="Book of Offiec 2000";
command.Parameters.Add(parameters[1]);
parameters[2]=new System.Data.OleDb.OleDbParameter("@ISBN",System.Data.OleDb.OleDbType.VarChar);
parameters[2].Value="980-45-458974";
command.Parameters.Add(parameters[2]);
parameters[3]=new System.Data.OleDb.OleDbParameter("@Discontinued",System.Data.OleDb.OleDbType.Char);
parameters[3].Value=0;;
command.Parameters.Add(parameters[3]);
command.ExecuteNonQuery();
tran.Commit();
}
catch(Exception e)
{
tran.Rollback();
}
finally
{
con.Close();
}
}
}
}
parameters[3].Value=0;;
command.Parameters.Add(parameters[3]);
数据库中Discontinued字段类型是什么??
我怀疑是bit,如果是那样的化参数用OleDbType.Boolean试试看