.net由于新添加一個表就需要重新寫一個BLL,操作數據庫SQL,這樣你會發現在制作大型項目的時候,您的時間都會花在建立模型上面去,這樣就會影響您的工作效應,還有降低您的工作熱情,還有就是增加您的出錯次數,在深圳網站建設獨占網絡看來這些都可以減少,因為我們可以寫的泛型就可以解決這些問題。
那接下來我們就是教大家怎樣建立一個泛型去操作數據庫,增加的您的工作效率。 先我們建立一個新model,獨占網絡把這個叫為
DuZhan.cs 我們在里面加入兩個屬性分別是 id,subject,所以我們的代碼如下
public partial class Banner
{
public int id { set; get; }
public string subject { set; get; }
}
建立好model之后我們就是把泛型的方法了。
獨占網絡這里只是寫一個添加的數據的方法,其它方法就是要讓大家自己去寫,如有不懂聯系獨占網絡(http://www.ykfic.cn)
下面就是我們添加一個泛型數據庫的方法了
public int Add<T>(T model)
{
int result = 0;
if (model != null)
{
//insert語句
StringBuilder count = new StringBuilder();
//參數的個數
StringBuilder quest = new StringBuilder();
var t = model.GetType();
//得到泛型的信息
PropertyInfo[] properties = t.GetProperties();
if (properties.Length > 1)
{
SqlParameter[] parameters = new SqlParameter[properties.Length - 1];
int i = 0;
//循環得到泛型信息
foreach (PropertyInfo property in properties)
{
if (i > 0)
{
if (!string.IsNullOrEmpty(count.ToString()))
{
count.Append(",");
quest.Append(",");
}
//得到泛型里面的參數信息,如我們上面的id,subject,然后加入數據庫操作語句中
count.Append(property.Name);
quest.Append("@" + property.Name);
parameters[i - 1] = new SqlParameter("@" + property.Name, returnSqlDbType(property.PropertyType));
object value = property.GetValue(model, null);
parameters[i - 1].Value = value;
}
i++;
}
//得到Sql語句
string strsql = string.Format("insert into {0}({1}) values({2});select @@IDENTITY", typeof(T).Name, count.ToString(), quest.ToString());
object obj = DbHelperSQL.GetSingle(strsql, parameters);
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
}
return result;
}
這里我們就可以完成一個泛型的寫法,下面我們就可以調用方法了添加的方法了
Add<Model.DuZhan>(duzhan); 這樣我們就可以完成操作了,如有不懂聯系深圳網站建設:獨占網絡(http://www.ykfic.cn)