新手问两个问题
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表里也找不到记录。不知道是哪里出错了。
------解决方案--------------------dr 有值或者为空 代表执行成功了
没看懂你第二个 insert into tablename(filed1,filed2,filed3)values(value1,value2,value3)
添加表记录的格式是这样的
------解决方案--------------------如果没有丢出异常就是执行成功了。
之所以数据没有变化是你没有写对sql。insert into不是你这么写的。
------解决方案--------------------返回受影响的行数如果大于0,那就成功了嘛,第二句没有异常说明运行成功了,至少数据库中没有数据,可能是那个select后面本来就没记录,你可以判断一下,受影响的行数,看实际插入了多少条记录
------解决方案--------------------LZ 数据库的操作主要分为 查询(读取) 还有 增删改(写入)两类
如果是报错,你的SQL语句必定会没有执行 不然就是执行了(但是执行了就不是说明你执行正确了)
LZ可以在看看基本的SQL语法
------解决方案--------------------第一个问题,楼主可以接受返回值看看受影响的行数
第二个问题,执行SQL没有异常,但是没有数据说明你SQL有地方不对
感觉可能是 where 条件不对,你把语句放数据库里运行一下看看
------解决方案--------------------基本功啊,基本功。把sql语句打印出来执行下先