帮忙看看哪的问题
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i){
str = string.Format("insert into Item (strItemCode,strItemName,strItemAlias,strItemStyle,strPackUnit,dblPackFactor,lngItemNatureID,lngItemTypeID,lngMinUnitID,lngStockUnitID,strCubageUnit,strWeightUnit,blnIsAssembly,strStartDate,blnIsCalcCost,strReCalcCost) select '{0}','{1}','{2}','{3}','{4}',1,'{5}','{6}',1,1,'立方米','千克',true,'{7}',true,'{8}'from ItemNature,ItemType,ItemUnit where ItemNature.strItemNatureName='{5}'and ItemType.strItemTypeCode='{6}' and ItemUnit.strUnitName='{4}'", ds.Tables[0].Rows[i].ItemArray[0].ToString(), ds.Tables[0].Rows[i].ItemArray[1].ToString(), ds.Tables[0].Rows[i].ItemArray[1].ToString(), ds.Tables[0].Rows[i].ItemArray[2].ToString(), ds.Tables[0].Rows[i].ItemArray[5], ds.Tables[0].Rows[i].ItemArray[3].ToString(), ds.Tables[0].Rows[i].ItemArray[4].ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),DateTime.Now.AddMonths(4));
cmd = new OleDbCommand(str,dataCon);
int num= cmd.ExecuteNonQuery();
if(num>0)
{
lblMessage.Text="添加成功!";
}
为什么没执行,int num= cmd.ExecuteNonQuery();没数据
是不是str写的有问题,我一换行它都有问题,我那是一行写的,也没报错,这是哪的问题啊
--------------------编程问答--------------------
自己检查代码!ds.Tables[0].Rows[i].ItemArray[4].ToString()
这里在前面就用变量来接收! --------------------编程问答-------------------- 日期应该用value类型 --------------------编程问答-------------------- 这怎么看,太没有可读性了.你在调试时
cmd = new OleDbCommand(str,dataCon); 把这句中的str取出来到你的SQL查询分析器一运行就知道错在哪里了。
--------------------编程问答-------------------- 调试吗?估计你那个Str 有问题,太多了眼都看花了!!! --------------------编程问答-------------------- 根本没法看, --------------------编程问答-------------------- cmd = new OleDbCommand(str,dataCon);打个断点,调试看下str的内容 --------------------编程问答-------------------- 跟踪看一下str 的内容,然后把语句贴到查询分析器中运行下,看看有没有结果 --------------------编程问答-------------------- 另外
str = string.Format(@"
加个@,就可以换行了 --------------------编程问答-------------------- luan --------------------编程问答--------------------
补充:.NET技术 , ASP.NET