1.
 SqlConnection con = new SqlConnection(sqlconnstr);
  con.Open();
  string sql = "insert into [Record] select *  from Item where Item_id='" + Item_id + "';
  delete from Item where Item_id='" + Item_id + "' ";
  SqlCommand cmd = new SqlCommand(sql, con);
  SqlDataReader dr = cmd.ExecuteReader();如何判断sql是否执行成功呢?2.
 string sql2 = "insert into [Account] select Item_id,Price,'" + Convert.ToInt32(Price) * 0.2 + "' from [Item] where  Item_id='" + Item_id + "'";这个语句执行了没显示出错,但在Account表里也找不到记录。不知道是哪里出错了。

解决方案 »

  1.   

    dr 有值或者为空 代表执行成功了
    没看懂你第二个  insert into tablename(filed1,filed2,filed3)values(value1,value2,value3)
    添加表记录的格式是这样的
      

  2.   

    如果没有丢出异常就是执行成功了。之所以数据没有变化是你没有写对sql。insert into不是你这么写的。
      

  3.   

    返回受影响的行数如果大于0,那就成功了嘛,第二句没有异常说明运行成功了,至少数据库中没有数据,可能是那个select后面本来就没记录,你可以判断一下,受影响的行数,看实际插入了多少条记录
      

  4.   

    LZ  数据库的操作主要分为 查询(读取) 还有 增删改(写入)两类
    如果是报错,你的SQL语句必定会没有执行 不然就是执行了(但是执行了就不是说明你执行正确了)LZ可以在看看基本的SQL语法
      

  5.   

    第一个问题,楼主可以接受返回值看看受影响的行数第二个问题,执行SQL没有异常,但是没有数据说明你SQL有地方不对
    感觉可能是 where  条件不对,你把语句放数据库里运行一下看看
      

  6.   

    基本功啊,基本功。把sql语句打印出来执行下先