資源簡介
C#封裝MySql數據庫操作,反射動態生成SQL語句。看程序前,最好請先看看里面的“數據庫說明”文檔,不然可能會一頭霧水。
這是我第一次寫數據庫的程序,我知道有很多地方寫得不好,希望能得到大家的指點。我的聯系方式,郵箱:tqwboy@163.com;QQ:55346161(請注明CSDN);blog:tqwboy.blog.163.com
歡迎“騷擾”。

代碼片段和文件信息
using?System;
using?System.Data;
using?System.Text;
using?System.Collections.Generic;
using?System.Reflection;?//反射需要引用的空間
using?MySql.Data.MySqlClient;?//操作MySQL數據庫需要引用的空間
namespace?DB.Operate
{
????public?class?Database
????{
????????private?MySqlConnection?myConnection?=?new?MySqlConnection();
????????private?MySqlCommand?mc?=?new?MySqlCommand();
????????private?MySqlDataReader?mdr;
????????#region?連接數據庫
????????public?bool?ConnectionDB(IEntity?entity?IField?field)?//IEntity為數據實體類接口,IField為表字段實體類接口
????????{
????????????bool?result?=?false;
????????????try
????????????{
????????????????if(myConnection.State?!=?ConnectionState.Open?)
????????????????{
????????????????????StringBuilder?sb?=?new?StringBuilder();
????????????????????PropertyInfo[]?Epros?=?entity.GetType().GetProperties();?//獲取連接屬性
????????????????????PropertyInfo[]?Fpros?=?field.GetType().GetProperties();?//獲取連接屬性名
????????????????????for?(int?i?=?0;?i?????????????????????{
????????????????????????sb.Append(Fpros[i].GetValue(field?null));
????????????????????????sb.Append(“=“);
????????????????????????sb.Append(Epros[i].GetValue(entity?null));
????????????????????????sb.Append(“;“);
????????????????????}
????????????????????sb.Replace(sb.ToString()?sb.ToString().TrimEnd(‘;‘));//去掉最后一個分號并加上反括號)結束
????????????????????myConnection?=?new?MySqlConnection(sb.ToString().Trim());
????????????????????myConnection.Open();
????????????????????result?=?true;
????????????????}
????????????}
????????????catch?(Exception)
????????????{
????????????????result?=?false;
????????????}
????????????return?result;
????????}
????????#endregion
????????#region?關閉數據庫
????????public?bool?CloseDB()
????????{
????????????bool?result?=?false;
????????????if(myConnection.State?==?ConnectionState.Open)
????????????{
????????????????myConnection.Close();
????????????????result?=?true;
????????????}
????????????return?result;
????????}
????????#endregion
????????#region?釋放連接數據庫資源
????????public?bool?DisposeDB()
????????{
????????????bool?result?=?false;
????????????if?(myConnection?!=?null)
????????????{
????????????????myConnection.Dispose();
????????????????result?=?true;
????????????}
????????????return?result;
????????}
????????#endregion
????????#region?數據插入模塊
????????public?bool?Inserobject(IEntity?entity?IField?field?params?string[]?formNum)
????????{
????????????bool?result?=?false;
????????????string?infoNum;
????????????if?(formNum.Length?!=?0)
????????????????infoNum?=?formNum[0]?+?“?(“;
????????????else
????????????????infoNum?=?“?(“;
????????????StringBuilder?sb?=?new?StringBuilder();//字符串構造器
????????????sb.Append(“INSERT?INTO?“);
????????????PropertyInfo[]?Fpros?=?field.GetType().GetProperties();//獲取實現IField接口的類的屬性????????????
????????????for?(int?i?=?0;?i?????????????{
????????????????sb.Append(Fpros[i
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????24576??2009-07-24?17:11??MySql.DB\DB.Operate\bin\Debug\DB.Operate.dll
?????文件??????38400??2009-07-24?17:11??MySql.DB\DB.Operate\bin\Debug\DB.Operate.pdb
?????文件??????10675??2009-08-02?11:57??MySql.DB\DB.Operate\Databa
?????文件????????844??2009-07-24?12:20??MySql.DB\DB.Operate\DB.Entity\connection\ConnectionStr.cs
?????文件????????923??2009-07-24?16:44??MySql.DB\DB.Operate\DB.Entity\connection\ConnectionStr_Field.cs
?????文件????????149??2009-07-24?11:34??MySql.DB\DB.Operate\DB.Entity\IEntity.cs
?????文件????????148??2009-07-24?11:34??MySql.DB\DB.Operate\DB.Entity\IField.cs
?????文件????????665??2009-07-24?11:34??MySql.DB\DB.Operate\DB.Entity\user_info\User_Info.cs
?????文件???????1064??2009-07-24?11:34??MySql.DB\DB.Operate\DB.Entity\user_info\User_Info_Field.cs
?????文件????????500??2009-07-24?11:34??MySql.DB\DB.Operate\DB.Entity\user_state\User_State.cs
?????文件????????878??2009-07-24?11:34??MySql.DB\DB.Operate\DB.Entity\user_state\User_State_Field.cs
?????文件???????2631??2009-07-24?16:44??MySql.DB\DB.Operate\DB.Operate.csproj
?????文件????????401??2009-07-24?17:11??MySql.DB\DB.Operate\obj\DB.Operate.csproj.FileListAbsolute.txt
?????文件??????24576??2009-07-24?17:11??MySql.DB\DB.Operate\obj\Debug\DB.Operate.dll
?????文件??????38400??2009-07-24?17:11??MySql.DB\DB.Operate\obj\Debug\DB.Operate.pdb
?????文件??????16384??2009-07-24?16:54??MySql.DB\DB.Operate\obj\Debug\Refactor\DB.Operate.dll
?????文件???????1327??2009-07-19?11:24??MySql.DB\DB.Operate\Properties\AssemblyInfo.cs
?????文件???????1385??2009-07-24?11:34??MySql.DB\NetGrid.sln
????..A..H.?????40448??2009-08-02?12:03??MySql.DB\NetGrid.suo
?????文件??????24576??2009-07-24?17:11??MySql.DB\Test\bin\Debug\DB.Operate.dll
?????文件??????38400??2009-07-24?17:11??MySql.DB\Test\bin\Debug\DB.Operate.pdb
?????文件??????16384??2009-07-24?17:11??MySql.DB\Test\bin\Debug\Test.exe
?????文件??????13824??2009-07-24?17:11??MySql.DB\Test\bin\Debug\Test.pdb
?????文件???????5632??2005-12-08?14:51??MySql.DB\Test\bin\Debug\Test.vshost.exe
?????文件??????10663??2009-07-24?17:11??MySql.DB\Test\obj\Debug\ResolveAssemblyReference.cache
?????文件??????16384??2009-07-24?17:11??MySql.DB\Test\obj\Debug\Test.exe
?????文件??????13824??2009-07-24?17:11??MySql.DB\Test\obj\Debug\Test.pdb
?????文件???????1003??2009-08-02?12:02??MySql.DB\Test\obj\Test.csproj.FileListAbsolute.txt
?????文件???????1949??2009-08-02?12:03??MySql.DB\Test\Program.cs
?????文件???????1167??2009-07-19?16:33??MySql.DB\Test\Properties\AssemblyInfo.cs
............此處省略26個文件信息
- 上一篇:俄羅斯方塊-C#
- 下一篇:C#通過窗口名獲取程序所有控件句柄
評論
共有 條評論