热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#连接SQLServer数据库自动生成model类代码

Program.csusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threadi

Program.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace ModelFactory

{

static class Program

{

///



/// 应用程序的主入口点。

///


[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

DBSelect dbs = new DBSelect();

dbs.ShowDialog();

TableSelect ts = new TableSelect();

ts.ShowDialog();

Application.Run(new ModelFactory());

}

}

}

  

DataBase.cs

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.SqlClient;

using System.Linq;

using System.Text;

using System.Threading.Tasks;
namespace ModelFactory

{

public static class DataBase

{

public static string DataSouse { get; set; }

public static string USER_ID { get; set; }

public static string PASSWORD { get; set; }

public static string database { get; set; }

private static string connectString{ get; set; }

public static List tablenames = new List();

public static void Init()

{
if (string.IsNullOrEmpty(DataBase.database)) DataBase.database = "master";

cOnnectString= string.Format("DATA SOURCE={0};INITIAL CATALOG={1};USER ID={2};PASSWORD={3};", DataSouse, database, USER_ID, PASSWORD);

}

public static SqlConnection SqlOpen()

{

SqlConnection cOnnection= null;

try

{

cOnnection= new SqlConnection(connectString);

//connection.Open();

return connection;

}

catch

{

return connection;

}

}

public static bool SqlClose(SqlConnection connection)

{

if (connection != null)

{

connection.Close();

return true;

}

else

return false;

}

public static DataSet ProcSet(string commandstr)

{

// data.Clear();

DataSet data = new DataSet();

SqlConnection cOnnection= SqlOpen();

SqlDataAdapter aCommand = new SqlDataAdapter(commandstr, connection);

try

{

aCommand.SelectCommand.CommandTimeout = 120;

connection.Open();

aCommand.Fill(data);

SqlClose(connection);

return data;

}

catch (Exception e)

{

return null;

}

finally

{

SqlClose(connection);

}

}

public static int DoProc(string commandstr)

{

SqlConnection cOnnection= SqlOpen();

SqlCommand sqlCom = new SqlCommand(commandstr, connection);

sqlCom.CommandTimeout = 1200;

try

{

connection.Open();

int x = Convert.ToInt32(sqlCom.ExecuteNonQuery());

SqlClose(connection);
return x;
}

catch (Exception e)

{

return 0;

}

finally

{

SqlClose(connection);

}

}

public static string ProcString(string commandstr)

{

SqlConnection cOnnection= SqlOpen();

SqlCommand sqlCom = new SqlCommand(commandstr, connection);

sqlCom.CommandTimeout = 600;

string str = "";

try

{

connection.Open();

var obj = sqlCom.ExecuteScalar();

if (obj != null)

str = obj.ToString();

return str;

}

catch (Exception e)

{

return "";

}

finally

{

SqlClose(connection);

}
}

public static void Add(string tablename)

{

tablenames.Add(tablename);

}

}
}

  DBSelect


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace ModelFactory

{

public partial class DBSelect : Form

{

public DBSelect()

{

InitializeComponent();

}
private void textBox3_Leave(object sender, EventArgs e)

{

DataBase.DataSouse = textBox1.Text.Trim();

DataBase.USER_ID = textBox2.Text.Trim();

DataBase.PASSWORD = textBox3.Text.Trim();

DataBase.Init();

DataSet ds = DataBase.ProcSet("SELECT d.name,d.database_id FROM sys.databases AS d WHERE d.log_reuse_wait>0");
comboBox1.DisplayMember = "name";

comboBox1.ValueMember = "database_id";

comboBox1.DataSource = ds.Tables[0];

}
private void button1_Click(object sender, EventArgs e)

{

DataBase.database = comboBox1.Text;

DataBase.Init();

this.Close();
}
private void comboBox1_Enter(object sender, EventArgs e)

{

textBox3_Leave(sender, e);

}

}

}

  TableSelect


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace ModelFactory

{

public partial class TableSelect : Form

{

public TableSelect()

{

InitializeComponent();

listBox2.DisplayMember = "name";

listBox2.ValueMember = "name";

listBox1.DataSource = DataBase.ProcSet("SELECT t.name FROM sys.tables AS t").Tables[0];

listBox1.DisplayMember = "name";

listBox1.ValueMember = "name";
}
private void listBox1_DoubleClick(object sender, EventArgs e)

{

//listBox1.Items.Remove(listBox1.SelectedItem);

listBox2.Items.Add(listBox1.SelectedItem);

}
private void listBox2_DoubleClick(object sender, EventArgs e)

{

listBox2.Items.Remove(listBox2.SelectedItem);

}
private void button3_Click(object sender, EventArgs e)

{
foreach(System.Data.DataRowView row in listBox2.Items)

{

DataBase.Add(row.Row.ItemArray[0].ToString());

}

this.Close();

}
}

}

  ModelFactory.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace ModelFactory

{

public partial class ModelFactory : Form

{

private StringBuilder sb = new StringBuilder();

public ModelFactory()

{

InitializeComponent();

foreach (string tablename in DataBase.tablenames)

{

sb.AppendLine(" public class " + tablename);

sb.AppendLine(" {");

DataTable dt = DataBase.ProcSet("select top 1 * from " + tablename).Tables[0];

//DbType dbtype;

string dbtype,columnname;
for (int i = 0; i
{

dbtype = CastType(dt.Columns[i].DataType);

columnname = dt.Columns[i].ColumnName;

sb.AppendLine(" public " + dbtype + " " + columnname+" {get;set;}");

}

sb.AppendLine(" }");

}

textBox1.Text = sb.ToString();

}

public string CastType(Type type)

{

if (type == typeof(string))

{

return "string";

}

else if (type == typeof(DateTime))

{

return "DateTime";

}

else if (type == typeof(bool))

{

return "bool";

}

else if (type == typeof(int))

{

return "int";

}

else

{

return type.ToString().Split('.')[type.ToString().Split('.').Length - 1];

}
}

}

}

  


C# 连接SQLServer数据库自动生成model类代码的相关教程结束。



推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • andr ... [详细]
  • 关于SQLSERVER的全文目录跟全文索引的区别
    很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 数据库和C#中均为可空类型。这时候直接给字段赋值为nullparameters[9].Valuenull;执行的时候报错了,一大堆,总之说它少了一个参数。用sqlserverpr ... [详细]
author-avatar
___墨浔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有