【发布时间】:2011-08-07 09:26:33
【问题描述】:
编码平台:ASP.NET 2.0 WebForms 使用 C# 和 MySQL 作为后端
背景
我目前正在修复网站的错误。
其中一张“registrations”表有 80 列。
插入/更新通过简单的 sql 语句完成,无需任何参数化查询。
问题
在注册时,用户可以改变许多参数,从而产生至少 15 种 INSERT 查询。我的问题是如何确保所有字段都插入正确的值。
所以,我创建了一个
Dictionary<string, string> fields = new Dictionary<string, string>();
fields.Add("LoginEmail", MySQL.SingleQuoteSQL(txtLoginEmail.Text));
fields.Add("Password", MySQL.SingleQuoteSQL(txtLoginPassword.Text));
fields.Add("ContactName", MySQL.SingleQuoteSQL(txtContactName.Text));
fields.Add("City", MySQL.SingleQuoteSQL(txtCity.Text));
我的想法是做一个像这样的简单插入查询
INSERT INTO registrations("all keys as comma separated string") VALUES ("all keys as comma separated string")
我的问题是
- Dictionary 是实现这一点的最佳数据结构吗?
- 通用字典对键的排序是否会改变查询时的键值索引?
- 将所有键提取到一个数组中并将对应值提取到另一个匹配数组的最佳方法。
另外,还有哪些更好的方法?
P.S:我正在维护代码并制作一个实体类,将列映射到属性并存储值不是这个选项。
【问题讨论】:
标签: c# asp.net architecture data-structures data-access