System.Collections.Hashtable ht = new System.Collections.Hashtable();
ht.Add("@userID", "1001");
ht.Add("@userName", "testName1");
ht.Add("@password", "123");
foreach (DictionaryEntry d in ht)
{
Console.WriteLine(d.Key.ToString() + d.Value.ToString());
}
输出为:
@userID1001
@password123
@userNametestName1
显示出来的数据顺序乱了,如何解决?
ht.Add("@userID", "1001");
ht.Add("@userName", "testName1");
ht.Add("@password", "123");
foreach (DictionaryEntry d in ht)
{
Console.WriteLine(d.Key.ToString() + d.Value.ToString());
}
输出为:
@userID1001
@password123
@userNametestName1
显示出来的数据顺序乱了,如何解决?
解决方案 »
- 简单 问题 下班结帖!!(2010-11-1)
- ASP.NET开发OA系统需要用到哪些技术?
- 一个关于人民币的问题
- DateTime.Now.Ticks ??
- 关于图片滚动的问题
- 讨论:在界面风格上,大家认为怎么在一个页面上实现对于一个表的增删改查(实现形式,控件布局)用户用起来方便???
- http发送和接受数据问题,大家帮忙看下!!!!
- 好简单的问题:怎样将文本框里取得的数据乘以另一个数??
- 如何控制网上直播的开启关闭
- win2003,vs.net7英文版,新建一个web项目,总是提示web access failed?
- datetimepicker控件在asp.net中已经勾上了,但是面板里找不到?
- sql server,数据库,access问题,.net
System.Collections.ArrayList keys = new ArrayList();
keys.Add("@userID"); ht.Add("@userID", "1001");
keys.Add("@userName");ht.Add("@userName", "testName1");
keys.Add("@userName");ht.Add("@password", "123");
foreach (string key in keys)
{
Console.WriteLine(key + ht[key].ToString());
}
有序的hashtable就不是hashtable咯
System.Collections.Generic.SortedDictionary(Of TKey, TValue) (2.0 +)
/// 添加一个字段/值对到数组中。
/// </summary>
/// <param name="_fieldName">字段名称。</param>
/// <param name="_fieldValue">字段值。</param>
public void AddFieldsParameters(string _fieldName, object _fieldValue)
{
if (!_fieldValue.ToString().Trim().Equals(""))
{
AllFieldItemsParameters.Add(_fieldName, _fieldValue);
}
} /// <summary>
/// 添加一个Where表达式的字段/值对到数组中。
/// </summary>
/// <param name="_whereName">表达式名称</param>
/// <param name="_whereValue">表达式的值</param>
/// <param name="_sign">符号 like = …… </param>
/// <param name="_expression">关系 And Or ……</param>
/// <param name="_left">左边括符</param>
/// <param name="_right">右边括符</param>
public void AddConditionParameters(string _whereName, object _whereValue, string _sign, string _expression,string _left,string _right)
{
if (!_whereValue.ToString().Trim().Equals(""))
{
Hashtable _ht = new Hashtable();
_ht.Add("whereValue", _whereValue);
_ht.Add("sign",_sign);
_ht.Add("expression", _expression);
_ht.Add("left",_left);
_ht.Add("right",_right);
AllConditionParameters.Add(_whereName, _ht);
}
} SqlCommand Cmd = new SqlCommand();
foreach (DictionaryEntry entry1 in AllFieldItemsParameters) //增加参数和值
{
Cmd.Parameters.AddWithValue("@" + entry1.Key.ToString(), entry1.Value);
}
foreach (DictionaryEntry entry2 in AllConditionParameters) //增加表达式的参数和值
{ foreach (DictionaryEntry entry3 in (Hashtable)entry2.Value )
{
if (entry3.Key.ToString().Equals("whereValue"))
{
TempValue = entry3.Value;
}
}
Cmd.Parameters.AddWithValue("@" + entry2.Key.ToString(), TempValue);
}
/// <summary>
/// 生成Where 语句
/// </summary>
public void GetWhereSql()
{
string _conditionExpress = string.Empty; //表达式
string _whereName = string.Empty; //表达式的名称
string _sign = string.Empty; //表达式的符号 like > < = ……
string _expression = string.Empty; //表达式 And Or ……
string _left = string.Empty; //左边括符
string _right = string.Empty; //右边括符
if (AllConditionParameters.Count != 0)
{
_conditionExpress = " Where "; foreach (DictionaryEntry entry2 in AllConditionParameters) //增加表达式的参数和值
{
_whereName = entry2.Key.ToString();
foreach (DictionaryEntry entry3 in (Hashtable)entry2.Value)
{
if (entry3.Key.ToString().Equals("sign"))
{
_sign = entry3.Value.ToString();
}
if (entry3.Key.ToString().Equals("expression"))
{
_expression = entry3.Value.ToString();
}
if (entry3.Key.ToString().Equals("left"))
{
_left = entry3.Value.ToString();
}
if (entry3.Key.ToString().Equals("right"))
{
_right = entry3.Value.ToString();
}
} if (!_expression.Equals(""))
{
_conditionExpress += " "+ _expression+ " ";
} _conditionExpress += " ";
if (!_left.Equals(""))
{
_conditionExpress += " "+_left+" ";
}
_conditionExpress += " "+entry2.Key.ToString()+" ";
_conditionExpress += _sign;
_conditionExpress += "@" + entry2.Key.ToString()+" ";
if (!_right.Equals(""))
{
_conditionExpress +=" "+ _right+" ";
}
}
} this.SqlExpression = _conditionExpress;
}
生成Where 语句 顺序乱了