注册 登录
编程论坛 SQL Server论坛

新手问一个问题!请高手不吝赐教!

crazystrays 发布于 2007-09-26 11:32, 677 次点击
我用C sharp编程操作sql 数据库,现在有一个问题
s tring strSQL="select 物质编号 from matter"
+" where 物质编号= '"+mybarCode.Matter_NO+"'";

matterAdapter = new SqlCeDataAdapter(strSQL,myConnection);
matterAdapter.Fill(matterdataSet);

dv=matterdataSet.Tables [0].DefaultView;


if(dv.Table.Rows.Count >0 )
{
strSQL="update matter set 物质数量=物质数量+"+Convert.ToInt32(mybarCode.Matter_Number)+" where 物质编号= '"+mybarCode.Matter_NO+"'";
myCommand.CommandText=strSQL;
myCommand.ExecuteNonQuery();
matterAdapter.UpdateCommand=myCommand;
matterAdapter.Fill(matterdataSet); //填充数据缓冲区

if(this.matterdataSet.HasChanges())
{

matterAdapter.Update(matterdataSet);
}


}

else
{
//SaveforAdd();
DataRow dr=matterdataSet.Tables["matter"].NewRow();

try
{
dr["matterId"]=matterId;

dr["物质编号"]=mybarCode.Matter_NO;
dr["物质单位"]=mybarCode.Matter_Unit;
dr["物质批号"]=mybarCode.Matter_Batch;
dr["物质数量"]=Convert.ToInt32(mybarCode.Matter_Number);
dr["stockNum"]=stockNum+Convert.ToInt32(mybarCode.Matter_Number);
matterId++;
}
catch(Exception ex)
{
MessageBox.Show("数据格式不对"+ex.ToString());
return;
}

try
{
matterdataSet.Tables["matter"].Rows.Add(dr);
if(this.matterdataSet.HasChanges())
{

matterAdapter.Update(matterdataSet,"matter");
}
}

catch(Exception ex)
{

//MessageBox.Show(ex.ToString());
return;
}


}
首先感谢看完这么弱智的代码,现在我的问题是,查询我表中符合条件的行数,怎么返回?我上面的语句不能正确反映。
update 中update matter set 物质数量=物质数量+2,这种语句对否?能否产生实际效果?重点是第一问题,怎么返回受影响的行数。
4 回复
#2
jiushiwo2007-09-26 12:58
应该到VC那吧
#3
bygg2007-09-26 13:02
myCommand.ExecuteNonQuery();
这个就是
#4
crazystrays2007-09-26 18:16
myCommand.ExecuteNonQuery();,这个我知道,关键我想得到的是受影响的行数,你明白吗?这条语句在select这条命令,返回的是-1,只有insert 和update才返回受影响的行数
所以我想请大侠能告诉一个可以返回后影响行的命令,这个问题肯定是sql的问题
到vc板没有用啊,这是sql问题,呵呵,感谢两位的回复
#5
bygg2007-09-27 10:20
那就再执行一句 strSQL="select count(*) from matter where 物质编号= '"+mybarCode.Matter_NO+"'";
1