帮忙解释这段C#代码

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:18:11
public bool Insert(String TableName,Hashtable Cols)
{
int Count = 0;

if (Cols.Count<=0)
{
return true;
}

String Fields = " (";
String Values = " Values(";
foreach(DictionaryEntry item in Cols)
{
if (Count!=0)
{
Fields += ",";
Values += ",";
}
Fields += item.Key.ToString();
Values += item.Value.ToString();
Count ++;
}
Fields += ")";
Values += ")";

String SqlString = "Insert into "+TableName+Fields+Values;

return Convert.ToBoolean(ExecuteSQL(SqlString));
}

麻烦详细解释一下,尤其是以下代码,不知道什么意思,有什么用?
String Fields = " (";
String Values = " Values(";
foreach(DictionaryEntry item in Cols)
{
if (Count!=0)
{
Fields +=

代码意思为
bool Insert(String TableName,Hashtable Cols)用用于执行插入sql语句
两个参数分别为 string 表名 Hashtable 字段数据字典
hashtable的结构你可能不大明白
大致如下
id 001
name xiaozhang
age 17
是 键值对的形式 一个键(id) 对应一个值(001)
下面的代码就是用
foreach(DictionaryEntry item in Cols)
循环取出每一个在hashtable中的键值对
然后 构建sql语句
以以上HASHTABLE内容为例

循环开始
count=0
跳过if (Count!=0)
{
Fields += ",";
Values += ",";
}

Fields 的值就是 id
Values 的值就是 001
count++ 变成1

然后第二次循环
if块内执行
Fields 的值 id,
Values 的值 001,
然后
Fields 的值 id,name
Values 的值 001,xiaozhang

我想你应该明白了

楼上的说的很多了
我补充下看你是不是这里不懂
string字符串中
“”内都是字符吧。
如果执行命令
例如
(ExecuteSQL(SqlString))
你开始定义了两个参数A,B
你想把A,B的数据插入表中

sqlstring直接写成“insert into tablename values(A,B) ”
是不行的,插入的数据就是字符A,B
而不是你想插入的A,B所表示的数据

这里的的用法就是