• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Kamo-
.人间不正经生活手册
博客园    首页    新随笔    联系   管理    订阅  订阅

MySQL提示Truncated incorrect DOUBLE value解决方法&&datagridview出现索引超出范围。必须为非负值并小于集合大小的解决办法

网上 对“Truncated incorrect DOUBLE value”的解决方法主要是这两种:
      ①修改了多个列的值而各列之间用逗号连接而不要用and
             错误写法示例:

String sql = "update user set username=? and password=? where id=?";

             正确写法示例:

String sql = "update user set username=? , password=? where id=?";
 我的语句: var sql = string.Format("delete from goods where ID=‘{0}’", dataGridView1.CurrentRow.Cells[0].Value);
提示runcated incorrect DOUBLE value 错误
我去掉格式化字符串,也就是分号后,错误提示更改:
Unknown column '测试3' in 'where clause (n.条款;从句;分句;小句;)
也就是当前行的值是数值时不能使用分号。错误修改后,找不到数据位置。
重新的错误我检查不出什么问题,通过网上描述好像需要加入另一张表使用inner join
后面通过查询

关于mysql delete语句中的别名使用

在网上找了半天,发现mysql数据库中delete语句别名有固定用法
delete [alias] from [table] [alias] where [alias].[field]...

别名需要在delete和from之间出现一次,同时表名后也要加上别名,点了一下就出来了....

多表之间同样:

delete a,b from ab01 a,ab02 b where a.AAB101=b.AAB101
 然后获得了更多的详细信息,发现之前的错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a where a.ID='测试3'' at line 1”(你有一个错误在您的SQL语法;检查手册对应于你的MySQL服务器版本的语法使用的附近。行ID =“测试3”1”)

检查发现我要删除的ID=列中的名称name列,肯定不会成功。

于是修改当前选中行的索引,对应到id列。成功删除。

然而当我删除成功又添加时,再删除就出现以下错误

 

 添加数据后就出现

网上方法是gridview出现索引超出范围。必须为非负值并小于集合大小的解决办法

必须检查gridview的datakeynames属性要设置为 数据表的主索引字段! 例如id

我的问题是

 

 添加后的数据绑定和删除后的数据绑定不一致。

 

 这样就可以了

 

一念愚即般若绝,一念智即般若生 作者:Kamo-,转载请注明原文链接:https://www.cnblogs.com/Kamo/articles/15230888.html

posted on 2021-09-05 21:09  Kamo-  阅读(2818)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3