在 System.Data.SqlClient.SqlException 中第一次偶然出现的“Microsoft.Practices.EnterpriseLibrary.Data.DLL”类型的异常~!
在数据写入的时候页面正常,但数据不写入,VS提示异常~!
代码:
string sql = @"insert into FBUY (Code,Name,Funit,Buyno,Amount,Buydata,BuyWay,BuyRes,LifeTime,Manufacturer,StreCode,Res)
values(@Code,@Name,@Funit,@Buyno,@Amount,@Buydata,@BuyWay,@BuyRes,@LifeTime,@Manufacturer,@StreCode,@Res)"; DbCommand cmd = this.DataBase.GetSqlStringCommand(sql);
DataBase.AddInParameter(cmd, "@Code", DbType.AnsiString, rec.Code);
DataBase.AddInParameter(cmd, "@Name", DbType.AnsiString, rec.Name);
DataBase.AddInParameter(cmd, "@Funit", DbType.AnsiString, rec.Funit);
DataBase.AddInParameter(cmd, "@Buyno", DbType.Int32, rec.Buyno);
DataBase.AddInParameter(cmd, "@Amount", DbType.Int32, rec.Amount);
DataBase.AddInParameter(cmd, "@Buydata", DbType.DateTime, rec.Buydata);
DataBase.AddInParameter(cmd, "@BuyWay", DbType.AnsiString, rec.BuyWay);
DataBase.AddInParameter(cmd, "@BuyRes", DbType.AnsiString, rec.BuyRes);
DataBase.AddInParameter(cmd, "@LifeTime", DbType.DateTime, rec.LifeTime);
DataBase.AddInParameter(cmd, "@Manufacturer", DbType.AnsiString, rec.Manufacturer);
DataBase.AddInParameter(cmd, "@StreCode", DbType.AnsiString, rec.StreCode);
DataBase.AddInParameter(cmd, "@Res", DbType.AnsiString, rec.Res);
if (this.Transaction == null)
{
//this.DataBase.ExecuteNonQuery(cmd);
this.DataBase.ExecuteNonQuery(cmd);
}
else
{
this.DataBase.ExecuteNonQuery(cmd, Transaction);
}同样的代码,另一个表就没有问题,大家帮帮看看~!
谢谢~!
在数据写入的时候页面正常,但数据不写入,VS提示异常~!
代码:
string sql = @"insert into FBUY (Code,Name,Funit,Buyno,Amount,Buydata,BuyWay,BuyRes,LifeTime,Manufacturer,StreCode,Res)
values(@Code,@Name,@Funit,@Buyno,@Amount,@Buydata,@BuyWay,@BuyRes,@LifeTime,@Manufacturer,@StreCode,@Res)"; DbCommand cmd = this.DataBase.GetSqlStringCommand(sql);
DataBase.AddInParameter(cmd, "@Code", DbType.AnsiString, rec.Code);
DataBase.AddInParameter(cmd, "@Name", DbType.AnsiString, rec.Name);
DataBase.AddInParameter(cmd, "@Funit", DbType.AnsiString, rec.Funit);
DataBase.AddInParameter(cmd, "@Buyno", DbType.Int32, rec.Buyno);
DataBase.AddInParameter(cmd, "@Amount", DbType.Int32, rec.Amount);
DataBase.AddInParameter(cmd, "@Buydata", DbType.DateTime, rec.Buydata);
DataBase.AddInParameter(cmd, "@BuyWay", DbType.AnsiString, rec.BuyWay);
DataBase.AddInParameter(cmd, "@BuyRes", DbType.AnsiString, rec.BuyRes);
DataBase.AddInParameter(cmd, "@LifeTime", DbType.DateTime, rec.LifeTime);
DataBase.AddInParameter(cmd, "@Manufacturer", DbType.AnsiString, rec.Manufacturer);
DataBase.AddInParameter(cmd, "@StreCode", DbType.AnsiString, rec.StreCode);
DataBase.AddInParameter(cmd, "@Res", DbType.AnsiString, rec.Res);
if (this.Transaction == null)
{
//this.DataBase.ExecuteNonQuery(cmd);
this.DataBase.ExecuteNonQuery(cmd);
}
else
{
this.DataBase.ExecuteNonQuery(cmd, Transaction);
}同样的代码,另一个表就没有问题,大家帮帮看看~!
谢谢~!
./.........
值是否错误 特别是DateTime类型的
别的表都是这么做的
接口文件都写完了
GO
/****** 对象: Table [dbo].[Fbuy] 脚本日期: 07/09/2010 08:34:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Fbuy](
[Code] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[Name] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[Funit] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[Buyno] [float] NULL,
[Amount] [float] NULL,
[Buydata] [datetime] NULL,
[BuyWay] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[BuyRes] [ntext] COLLATE Chinese_PRC_CI_AS NULL,
[Lifetime] [datetime] NULL,
[Manufacturer] [nchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[StoreCode] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[Res] [ntext] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
大家帮我看看~~着急啊~!
错误在
this.DataBase.ExecuteNonQuery(cmd);
把这些
DataBase.AddInParameter(cmd, "@Code", DbType.AnsiString, rec.Code);
DataBase.AddInParameter(cmd, "@Name", DbType.AnsiString, rec.Name);
DataBase.AddInParameter(cmd, "@Funit", DbType.AnsiString, rec.Funit);
DataBase.AddInParameter(cmd, "@Buyno", DbType.Int32, rec.Buyno);
DataBase.AddInParameter(cmd, "@Amount", DbType.Int32, rec.Amount);
DataBase.AddInParameter(cmd, "@Buydata", DbType.DateTime, rec.Buydata);
DataBase.AddInParameter(cmd, "@BuyWay", DbType.AnsiString, rec.BuyWay);
DataBase.AddInParameter(cmd, "@BuyRes", DbType.AnsiString, rec.BuyRes);
DataBase.AddInParameter(cmd, "@LifeTime", DbType.DateTime, rec.LifeTime);
DataBase.AddInParameter(cmd, "@Manufacturer", DbType.AnsiString, rec.Manufacturer);
DataBase.AddInParameter(cmd, "@StreCode", DbType.AnsiString, rec.StreCode);
DataBase.AddInParameter(cmd, "@Res", DbType.AnsiString, rec.Res);都换成上面的形式,不用管类型了
cmd.Parameters.AddWithValue("@Code", rec.Code);
............