资源简介
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 < Epros.Length && i < Fpros.Length; 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 < Fpros.Length; 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#通过窗口名获取程序所有控件句柄
评论
共有 条评论