如何将哈希表中的数据插入到数据库的表中

label_xl 2016-01-08 02:22:13
如题。
例如
HashTable ht=new HashTable();
ht.Add("a",1);
ht.Add("b",1);
ht.Add("c",1);
a、b、c是表Tablename中的三个字段。
如何将ht中的数据插入到表中?字段的数量是不确定的 因为可能是不同的表。谢谢~
...全文
428 20 打赏 收藏 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
peng2739956 2016-01-13
  • 打赏
  • 举报
回复
字段这样存:set=1,model=2 然后实体建立1个哈希来接收即可
label_xl 2016-01-13
  • 打赏
  • 举报
回复
想参数化 动态拼sql语句的话 怎么做 能防注入呢?
江南小鱼 2016-01-13
  • 打赏
  • 举报
回复
不就是遍历HashTable,动态拼凑insert语句么?
正怒月神 版主 2016-01-12
  • 打赏
  • 举报
回复
(MySqlParameter[])myde.Value 你不能将一个 value转成数组。你想达到什么目的?
label_xl 2016-01-11
  • 打赏
  • 举报
回复
引用 15 楼 hanjun0612 的回复:
那就简单了 遍历hashtable。拼接sql语句 主要用到遍历方法
 foreach (DictionaryEntry de in hashTable)
            {
                System.Windows.Forms.MessageBox.Show(de.Key.ToString());
                System.Windows.Forms.MessageBox.Show(de.Value.ToString());
            }
至于拼接sql语句应该不是什么困难事了吧
谢谢,拼接字符串是没问题了 ,但是 怎么参数化? parval=(MySqlParameter[])myde.Value; 这句运行提示: 无法将类型为“System.String”的对象强制转换为类型“MySql.Data.MySqlClient.MySqlParameter[]”。
正怒月神 版主 2016-01-08
  • 打赏
  • 举报
回复
那就简单了 遍历hashtable。拼接sql语句 主要用到遍历方法
 foreach (DictionaryEntry de in hashTable)
            {
                System.Windows.Forms.MessageBox.Show(de.Key.ToString());
                System.Windows.Forms.MessageBox.Show(de.Value.ToString());
            }
至于拼接sql语句应该不是什么困难事了吧
label_xl 2016-01-08
  • 打赏
  • 举报
回复
引用 13 楼 hanjun0612 的回复:
[quote=引用 11 楼 label_xl 的回复:] [quote=引用 10 楼 hanjun0612 的回复:] 字段的数量是不确定的 因为可能是不同的表??? 那你怎么插入表?都不确定表了。。。。
表名是调用的时候 传过来的参数 一起传过来的还有一个hashtable对象 里面是数据[/quote] 但是你也说了,你的hashtable可能存在不属于该表的字段。那你怎么识别这些不属于表的字段呢? 不然是没办法拼接sql语句进行插入的。[/quote] 不好意思啊 可能我表达的不对 字段是属于 传过来的表的 都在hashtable实例里面
正怒月神 版主 2016-01-08
  • 打赏
  • 举报
回复
引用 11 楼 label_xl 的回复:
[quote=引用 10 楼 hanjun0612 的回复:] 字段的数量是不确定的 因为可能是不同的表??? 那你怎么插入表?都不确定表了。。。。
表名是调用的时候 传过来的参数 一起传过来的还有一个hashtable对象 里面是数据[/quote] 但是你也说了,你的hashtable可能存在不属于该表的字段。那你怎么识别这些不属于表的字段呢? 不然是没办法拼接sql语句进行插入的。
label_xl 2016-01-08
  • 打赏
  • 举报
回复
引用 9 楼 xdashewan 的回复:
[quote=引用 8 楼 label_xl 的回复:] 再请教您一下 遍历出来的应该存入二维数组吗? 方便的话 能简单写一下代码吗?
你的表到底是数据库还是datatable变量?如果是数据库和二维数组完全不着边啊[/quote] 是数据库 我再试试
label_xl 2016-01-08
  • 打赏
  • 举报
回复
引用 10 楼 hanjun0612 的回复:
字段的数量是不确定的 因为可能是不同的表??? 那你怎么插入表?都不确定表了。。。。
表名是调用的时候 传过来的参数 一起传过来的还有一个hashtable对象 里面是数据
xdashewan 2016-01-08
  • 打赏
  • 举报
回复
引用 8 楼 label_xl 的回复:
再请教您一下 遍历出来的应该存入二维数组吗? 方便的话 能简单写一下代码吗?
你的表到底是数据库还是datatable变量?如果是数据库和二维数组完全不着边啊
正怒月神 版主 2016-01-08
  • 打赏
  • 举报
回复
字段的数量是不确定的 因为可能是不同的表??? 那你怎么插入表?都不确定表了。。。。
label_xl 2016-01-08
  • 打赏
  • 举报
回复
引用 7 楼 xdashewan 的回复:
[quote=引用 6 楼 label_xl 的回复:] 可能您还不懂我的意思 我这个哈希表 存的就是表里的字段 但是要插入的表是不确定的 调用的时候 只传过来 一个表名, 还有就是 这个方法是一个增加一条数据的方法
你有表名,hashtable里key就是字段名,value就是值,还有什么问题?拼sql啊,简单的字符串拼接啊,insert里也没要求顺序,哪里来的对应。[/quote] 再请教您一下 遍历出来的应该存入二维数组吗? 方便的话 能简单写一下代码吗?
xdashewan 2016-01-08
  • 打赏
  • 举报
回复
引用 6 楼 label_xl 的回复:
可能您还不懂我的意思 我这个哈希表 存的就是表里的字段 但是要插入的表是不确定的 调用的时候 只传过来 一个表名, 还有就是 这个方法是一个增加一条数据的方法
你有表名,hashtable里key就是字段名,value就是值,还有什么问题?拼sql啊,简单的字符串拼接啊,insert里也没要求顺序,哪里来的对应。
label_xl 2016-01-08
  • 打赏
  • 举报
回复
引用 5 楼 xdashewan 的回复:
[quote=引用 2 楼 label_xl 的回复:] sql语句是根据哈希表中的内容来的啊 遍历 我知道 我不明白的是 怎么把字段和key对应起来 把value和哈希表中的value对应起来
什么叫对应,你hashtable里还有表以外的字段吗?你一个hashtable存的不是同一张表的字段,还有别的表的字段?如果是这样,恭喜你改设计吧[/quote] 可能您还不懂我的意思 我这个哈希表 存的就是表里的字段 但是要插入的表是不确定的 调用的时候 只传过来 一个表名, 还有就是 这个方法是一个增加一条数据的方法
label_xl 2016-01-08
  • 打赏
  • 举报
回复
引用 3 楼 BEYONDMA 的回复:
你是要存一条一条的记录,还是直接存一个表?
是存一条数据
xdashewan 2016-01-08
  • 打赏
  • 举报
回复
引用 2 楼 label_xl 的回复:
sql语句是根据哈希表中的内容来的啊 遍历 我知道 我不明白的是 怎么把字段和key对应起来 把value和哈希表中的value对应起来
什么叫对应,你hashtable里还有表以外的字段吗?你一个hashtable存的不是同一张表的字段,还有别的表的字段?如果是这样,恭喜你改设计吧
beyondma 2016-01-08
  • 打赏
  • 举报
回复
你是要存一条一条的记录,还是直接存一个表?
label_xl 2016-01-08
  • 打赏
  • 举报
回复
引用 1 楼 xdashewan 的回复:
循环hashtable所有的key,foreach(string key in ht.keys),另外现在推荐使用的是dictionary,hashtable已经是老物了
sql语句是根据哈希表中的内容来的啊 遍历 我知道 我不明白的是 怎么把字段和key对应起来 把value和哈希表中的value对应起来
xdashewan 2016-01-08
  • 打赏
  • 举报
回复
循环hashtable所有的key,foreach(string key in ht.keys),另外现在推荐使用的是dictionary,hashtable已经是老物了

62,270

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧