先看界面:
添加后数据库:
而所要执行的语句:
代码如下:
string name_ = this.tbxUseName.Text.Trim();
string webname_ = this.tbxWebName.Text.Trim();
string url_ = this.tbxUrl.Text.Trim();
AddFieldItem("news_Title", name_);
AddFieldItem("news_Source",webname_);
AddFieldItem("news_Anthor",url_);
common.salert("添加成功,添加后的ID为" + insert("db_news").ToString());
当我看完小孔子cms对插入数据的处理后,自我感觉.net水平还一直停留在asp中。下面结合代码讲讲:
需要说明的是,小孔子cms在插入时使用的是多层架构,而这篇文章主要着重讲解的是学习,所以我就没弄成多层的了。插入时采用了参数化的过程,类似sql的存储过程;在实际应用中插入数据十分简单,正如上面代码所显示的。
先讲一个类[DbKeyItem]:
代码如下:
/// <summary>
/// 数据表中的字段属性:字段名,字段值
/// </summary>
public class DbKeyItem
{
/// <summary>
/// 字段名称
/// </summary>
public string fieldName;
/// <summary>
/// 字段值
/// </summary>
public string fieldValue;
public DbKeyItem(string _fieldName, object _fieldValue)
{
this.fieldName = _fieldName;
this.fieldValue = _fieldValue.ToString();
}
}
这个类包含两个属性:
1、fieldName:字段名
2、fieldValue:字段值
这个类主要用于:
代码如下:
protected ArrayList alFieldItems = new ArrayList(10);
/// <summary>
/// 添加一个字段/值对到数组中
/// </summary>
public void AddFieldItem(string _fieldName, object _fieldValue)
{
_fieldName = "[" + _fieldName + "]";
//遍历看是否已经存在字段名
for (int i = 0; i < this.alFieldItems.Count; i++)
{
if (((DbKeyItem)this.alFieldItems[i]).fieldName == _fieldName)
{
throw new ArgumentException("字段已经存在");
}
}
this.alFieldItems.Add(new DbKeyItem(_fieldName, _fieldValue));
}
123下一页阅读全文