如何在 linq to sql 中将数据插入 table
How to insert data into table in linq to sql
我有一个 table TransactionUpdate
列 TransactionUpdateId
, OrderNumber
,BalanceAmount
,TotalOrderAmount
,LinkToCustomerMasterId
,LinkToLocationId
,LastUpdateDate
我想插入数据到TransactionUpdate
这个我试过了。但只有一次数据被插入。之后数据未插入 table
TransactionUpdate objTransaction = new TransactionUpdate();
objTransaction.OrderNumber = objBooking.OrderNumber;
objTransaction.BalanceAmount = 0;
objTransaction.OrderTotalAmt = objBooking.TotalOrderAmt;
objTransaction.LinkToCustomerMasterId = objBooking.LinkCustomerMasterId;
objTransaction.LinkToLocationId = objBooking.LinktoLocationMasterId;
objTransaction.OrderType = "Send booking";
objTransaction.LastUpdaeDate = DateTime.Now;
int AddCOD = clsFranchies.AddCODCustomerOrderTransaction(objTransaction);
方法:AddCODCustomerOrderTransaction
public static int AddCODCustomerOrderTransaction(TransactionUpdate transaction)
{
try
{
using (WMSDataContext dc = new WMSDataContext())
{
TransactionUpdate objtransactionAddCOD = new TransactionUpdate();
objtransactionAddCOD = transaction;
dc.TransactionUpdates.InsertOnSubmit(objtransactionAddCOD);
dc.SubmitChanges();
return 1;
}
}
catch (Exception ex)
{
clsError.WriteError(ex);
return -1;
}
}
我正在使用 Linq to sql,clsFranchise 是 class 文件.
您在插入记录时没有设置TransactionUpdateId。
所以默认情况下(如果它是一个整数)则它采用 TransactionUpdateId = 0。
所以在这里,当您将第一个条目添加到 table 时,将使用主键 0 添加记录。
但是,当您尝试 2 次时,主键不允许您输入具有重复主键值 0 的第二条记录。
You can resolve this issue by 2 ways:
1) Set primary key to auto increment.
2) While inserting record set primary key value to new value. Like newValue = Max(TransactionUpdateId ) + 1;
对于第二种方式:修改以下函数:
public static int AddCODCustomerOrderTransaction(TransactionUpdate transaction)
{
try
{
using (WMSDataContext dc = new WMSDataContext())
{
TransactionUpdate objtransactionAddCOD = new TransactionUpdate();
objtransactionAddCOD = transaction;
var newTransactionUpdateID = dc.TransactionUpdates.Max(s = >s.TransactionUpdateId);
objtransactionAddCOD.TransactionUpdateId = newTransactionUpdateID == null ? 1: (newTransactionUpdateID + 1);
dc.TransactionUpdates.InsertOnSubmit(objtransactionAddCOD);
dc.SubmitChanges();
return 1;
}
}
catch (Exception ex)
{
clsError.WriteError(ex);
return -1;
}
}
请告诉我这对你有用吗?
我有一个 table TransactionUpdate
列 TransactionUpdateId
, OrderNumber
,BalanceAmount
,TotalOrderAmount
,LinkToCustomerMasterId
,LinkToLocationId
,LastUpdateDate
我想插入数据到TransactionUpdate
这个我试过了。但只有一次数据被插入。之后数据未插入 table
TransactionUpdate objTransaction = new TransactionUpdate();
objTransaction.OrderNumber = objBooking.OrderNumber;
objTransaction.BalanceAmount = 0;
objTransaction.OrderTotalAmt = objBooking.TotalOrderAmt;
objTransaction.LinkToCustomerMasterId = objBooking.LinkCustomerMasterId;
objTransaction.LinkToLocationId = objBooking.LinktoLocationMasterId;
objTransaction.OrderType = "Send booking";
objTransaction.LastUpdaeDate = DateTime.Now;
int AddCOD = clsFranchies.AddCODCustomerOrderTransaction(objTransaction);
方法:AddCODCustomerOrderTransaction
public static int AddCODCustomerOrderTransaction(TransactionUpdate transaction)
{
try
{
using (WMSDataContext dc = new WMSDataContext())
{
TransactionUpdate objtransactionAddCOD = new TransactionUpdate();
objtransactionAddCOD = transaction;
dc.TransactionUpdates.InsertOnSubmit(objtransactionAddCOD);
dc.SubmitChanges();
return 1;
}
}
catch (Exception ex)
{
clsError.WriteError(ex);
return -1;
}
}
我正在使用 Linq to sql,clsFranchise 是 class 文件.
您在插入记录时没有设置TransactionUpdateId。
所以默认情况下(如果它是一个整数)则它采用 TransactionUpdateId = 0。 所以在这里,当您将第一个条目添加到 table 时,将使用主键 0 添加记录。 但是,当您尝试 2 次时,主键不允许您输入具有重复主键值 0 的第二条记录。
You can resolve this issue by 2 ways:
1) Set primary key to auto increment.
2) While inserting record set primary key value to new value. Like newValue = Max(TransactionUpdateId ) + 1;
对于第二种方式:修改以下函数:
public static int AddCODCustomerOrderTransaction(TransactionUpdate transaction)
{
try
{
using (WMSDataContext dc = new WMSDataContext())
{
TransactionUpdate objtransactionAddCOD = new TransactionUpdate();
objtransactionAddCOD = transaction;
var newTransactionUpdateID = dc.TransactionUpdates.Max(s = >s.TransactionUpdateId);
objtransactionAddCOD.TransactionUpdateId = newTransactionUpdateID == null ? 1: (newTransactionUpdateID + 1);
dc.TransactionUpdates.InsertOnSubmit(objtransactionAddCOD);
dc.SubmitChanges();
return 1;
}
}
catch (Exception ex)
{
clsError.WriteError(ex);
return -1;
}
}
请告诉我这对你有用吗?