先看介面:
添加後資料庫:
而所要執行的語句:複製代碼 代碼如下: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));
}