上一篇:C#写的数据库操作类! >>
快速开发vs.net+c#程序(-)
一、已有数据库(SQL)表,快速生成对应存储过程的工具。SQLPilot.exe
SQLPilot.exe这个程序是CCF的一个朋友写的,具体请参考http://bbs.et8.net/bbs/showthread.php?t=534183
二、已有数据库表,快速生成列表、基本查询、高级查询、插入新行、删除、编辑asp.net页面的工具Asp.Net Maker
http://www.hkvstore.com/aspnetmaker/
1.数据库操作类
以下是C#代码:
头文件:
using System;using System.Web.UI;using System.Globalization;using System.Data;using System.Data.SqlClient;namespace ns_db{public class c_db: UserControl{
//******************************** // 返回数据库连接字符串 //********************************
public string ewConnStr() { return "Password=******;Persist Security Info=True;User ID=sa;Initial Catalog=******;Data Source=
(Local)"; } // End ewConnStr
//****************************************************** // 返回一个 DataView 根据 Connection String & SQL //******************************************************
public DataView ewDataView(string sConn, string sSQL) { try {
// Create a new Connection Object SqlConnection oConn = new SqlConnection(sConn);
// Create a new DataAdapter using the Connection Object and SQL statement SqlDataAdapter oDa = new SqlDataAdapter(sSQL, oConn);
// Create a new DataSet Object to fill with Data DataSet oDs = new DataSet();
// Fill the DataSet with Data from the DataAdapter Object oDa.Fill(oDs, "ewDataSet"); return oDs.Tables[0].DefaultView; } catch (SqlException oErr) { Session["dberrmsg"] = ewDataErrorMessage(oErr); return null; } } // End ewDataView
//********************************* // 返回一个 DataView for Linking //*********************************
public DataView ewDataViewLink(string sConn, string sTable/*表名*/, string sLnkFld, string sDispFld, string sDispFld2, string sFilterFld, string sOrderBy/*排序列*/, string sOrderType/*排序规则*/, bool bDistinct/*是否剔除重复值*/, string sFilter) { string sSQL; try {
// Construct SQL statement sSQL = "SELECT"; if (bDistinct) { sSQL += " DISTINCT"; } sSQL += " [" + sLnkFld + "], [" + sDispFld + "]"; if (sDispFld2 != "") { sSQL += ", [" + sDispFld2 + "]"; } if (sFilterFld != "") { sSQL += ", [" + sFilterFld + "]"; } sSQL += " FROM [" + sTable + "]"; if (sFilter != "") { sSQL += " WHERE " + sFilter; } if (sOrderBy != "") { sSQL += " ORDER BY [" + sOrderBy + "] " + sOrderType; }
// Create a new Connection Object using the Connection String SqlConnection oConn = new SqlConnection(sConn);
// Create a new DataAdapter using the Connection Object and SQL statement SqlDataAdapter oDa = new SqlDataAdapter(sSQL, oConn);
// Create a new DataSet Object to fill with Data DataSet oDs = new DataSet();
// Fill the DataSet with Data from the DataAdapter Object oDa.Fill(oDs, "ewDataSet");
// Create the TextField and ValueField Columns oDs.Tables[0].Columns.Add("ewValueField",Type.GetType("System.String"),"[" + sLnkFld + "]"); if (sDispFld2 == "") { oDs.Tables[0].Columns.Add("ewTextField",Type.GetType("System.String"),"[" + sDispFld + "]"); } else { oDs.Tables[0].Columns.Add("ewTextField",Type.GetType("System.String"),"[" + sDispFld + "] +
@#, @# + [" + sDispFld2 + "]"); } return oDs.Tables[0].DefaultView; } catch (SqlException oErr) { Session["dberrmsg"] = ewDataErrorMessage(oErr); return null; } } // End ewDataViewLink
//********************************************************* // 根据 Connection String & SQL 返回 Records 的数量 //*********************************************************
public int ewRecordCount(string sConn, string sTable, string sWhere) { string sSQL; try {
// Construct SQL sSQL = "SELECT COUNT(*) FROM [" + sTable + "]"; if (sWhere != "") { sSQL += " WHERE " + sWhere; }
// Create a new Connection Object using the Connection String SqlConnection oConn = new SqlConnection(sConn);
// Create a new DataAdapter using the Connection Object and SQL statement SqlDataAdapter oDa = new SqlDataAdapter(sSQL, oConn);
// Create a new DataSet object to fill with Data DataSet oDs = new DataSet();
// Fill the DataSet with Data from the DataAdapter Object oDa.Fill(oDs, "ewDataSet"); return Convert.ToInt32(oDs.Tables[0].Rows[0][0]); } catch (SqlException oErr) { Session["dberrmsg"] = ewDataErrorMessage(oErr); return 0; } } // End ewRecordCount
//*********************************************************** // 返回 1-page DataView 根据 Connection String & SQL //***********************************************************
public DataView ewDataViewPage(string sConn, string sSQL, int iCurrentRec, int iPageSize) { try {
// Create a new Connection Object using the Connection String SqlConnection oConn = new SqlConnection(sConn);
// Create a new DataAdapter using the Connection Object and SQL statement SqlDataAdapter oDa = new SqlDataAdapter(sSQL, oConn);
// Create a new DataSet object to fill with Data DataSet oDs = new DataSet();
// Fill the DataSet with Data from the DataAdapter Object oDa.Fill(oDs, iCurrentRec, iPageSize, "ewDataSet"); return oDs.Tables[0].DefaultView; } catch (SqlException oErr) { Session["dberrmsg"] = ewDataErrorMessage(oErr); return null; } } // End ewDataViewPage
//************************************************* // Return a DataReader based on Connection & SQL //*************************************************
public SqlDataReader ewDataReader(SqlConnection oConn, string sSQL) { try {
// Create a DataReader Object SqlDataReader oDr;
// Create a new Command Object using the Connection and SQL statement SqlCommand oCmd = new SqlCommand(sSQL, oConn);
// Execute the SQL statement against the Command to get the DataReader oDr = oCmd.ExecuteReader(); return oDr; } catch (SqlException oErr) { Session["dberrmsg"] = ewDataErrorMessage(oErr); return null; } } // End ewDataReader
//********************************************** // Return Error Message based on Error Object //**********************************************
public string ewDataErrorMessage(SqlException oErr) { string sDbErrMsg; sDbErrMsg = ""; for (int i = 0; i <= oErr.Errors.Count - 1; i++) { sDbErrMsg += "Message: " + oErr.Errors[i].Message + "" + "Line Number: " + oErr.Errors[i].LineNumber + "" + "Source: " + oErr.Errors[i].Source + "" + "Procedure: " + oErr.Errors[i].Procedure + ""; } return sDbErrMsg; } // End ewDataErrorMessage
//*************************** // Return Upload File Name //***************************
public string ewUploadFileName(string sFileName) { string sOutFileName;
// Amend your logic here sOutFileName = sFileName;
// Return computed output file name return sOutFileName; } // End ewUploadFileName
//****************************************************** // Return Formatted Number similar to VB FormatNumber // - IncludeLeadingDigit is not supported //******************************************************
public string ewFormatNumber(object oNo, int iDecPlace, int iUseParen, int iGroupDigits) { NumberFormatInfo oNfi = (NumberFormatInfo) NumberFormatInfo.CurrentInfo.Clone(); oNfi.NumberDecimalDigits = iDecPlace; // NumDigitsAfterDecimal
// IncludeLeadingDigit: not used if (iUseParen == -1) // UseParensForNegativeNumbers: True { oNfi.NumberNegativePattern = 0; } else if (iUseParen == 0) // UseParensForNegativeNumbers: False { oNfi.NumberNegativePattern = 1; } if (iGroupDigits == -1) // GroupDigits: True { oNfi.NumberGroupSeparator = ","; } else if (iGroupDigits == 0) // GroupDigits: False { oNfi.NumberGroupSeparator = ""; }
// Cast for different data types if (oNo is short) // short { return ((short) oNo).ToString("n",oNfi); } else if (oNo is ushort) // ushort { return ((ushort) oNo).ToString("n",oNfi); } else if (oNo is int) // int { return ((int) oNo).ToString("n",oNfi); } else if (oNo is uint) // uint { return ((uint) oNo).ToString("n",oNfi); } else if (oNo is long) // long { return ((long) oNo).ToString("n",oNfi); } else if (oNo is ulong) // ulong { return ((ulong) oNo).ToString("n",oNfi); } else if (oNo is float) // float { return ((float) oNo).ToString("n",oNfi); } else if (oNo is double) // double { return ((double) oNo).ToString("n",oNfi); } else if (oNo is decimal) // decimal { return ((decimal) oNo).ToString("n",oNfi); } else { return ((decimal) oNo).ToString("n",oNfi); } }
//********************************************************** // Return Formatted Currency similar to VB FormatCurrency // - IncludeLeadingDigit is not supported //**********************************************************
public string ewFormatCurrency(object oNo, int iDecPlace, int iUseParen, int iGroupDigits) { NumberFormatInfo oNfi = (NumberFormatInfo) NumberFormatInfo.CurrentInfo.Clone(); oNfi.CurrencyDecimalDigits = iDecPlace; // NumDigitsAfterDecimal
// IncludeLeadingDigit: not used if (iUseParen == -1) // UseParensForNegativeNumbers: True { oNfi.CurrencyNegativePattern = 0; } else if (iUseParen == 0) // UseParensForNegativeNumbers: False { oNfi.CurrencyNegativePattern = 1; } if (iGroupDigits == -1) // GroupDigits: True { oNfi.CurrencyGroupSeparator = ","; } else if (iGroupDigits == 0) // GroupDigits: False { oNfi.CurrencyGroupSeparator = ""; }
// Cast for different data types if (oNo is short) // short { return ((short) oNo).ToString("c",oNfi); } else if (oNo is ushort) // ushort { return ((ushort) oNo).ToString("c",oNfi); } else if (oNo is int) // int { return ((int) oNo).ToString("c",oNfi); } else if (oNo is uint) // uint { return ((uint) oNo).ToString("c",oNfi); } else if (oNo is long) // long { return ((long) oNo).ToString("c",oNfi); } else if (oNo is ulong) // ulong { return ((ulong) oNo).ToString("c",oNfi); } else if (oNo is float) // float { return ((float) oNo).ToString("c",oNfi); } else if (oNo is double) // double { return ((double) oNo).ToString("c",oNfi); } else if (oNo is decimal) // decimal { return ((decimal) oNo).ToString("c",oNfi); } else { return ((decimal) oNo).ToString("c",oNfi); } }
//******************************************************** // Return Formatted Percent similar to VB FormatPercent // - IncludeLeadingDigit is not supported //********************************************************
public string ewFormatPercent(object oNo, int iDecPlace, int iUseParen, int iGroupDigits) { NumberFormatInfo oNfi = (NumberFormatInfo) NumberFormatInfo.CurrentInfo.Clone(); oNfi.CurrencyDecimalDigits = iDecPlace; // NumDigitsAfterDecimal
// IncludeLeadingDigit: not used if (iUseParen == -1) // UseParensForNegativeNumbers: True { oNfi.CurrencyNegativePattern = 0; } else if (iUseParen == 0) // UseParensForNegativeNumbers: False { oNfi.CurrencyNegativePattern = 1; } if (iGroupDigits == -1) // GroupDigits: True { oNfi.CurrencyGroupSeparator = ","; } else if (iGroupDigits == 0) // GroupDigits: False { oNfi.CurrencyGroupSeparator = ""; }
// Cast for different data types if (oNo is short) // short { return ((short) oNo).ToString("p",oNfi); } else if (oNo is ushort) // ushort { return ((ushort) oNo).ToString("p",oNfi); } else if (oNo is int) // int { return ((int) oNo).ToString("p",oNfi); } else if (oNo is uint) // uint { return ((uint) oNo).ToString("p",oNfi); } else if (oNo is long) // long { return ((long) oNo).ToString("p",oNfi); } else if (oNo is ulong) // ulong { return ((ulong) oNo).ToString("p",oNfi); } else if (oNo is float) // float { return ((float) oNo).ToString("p",oNfi); } else if (oNo is double) // double { return ((double) oNo).ToString("p",oNfi); } else if (oNo is decimal) // decimal { return ((decimal) oNo).ToString("p",oNfi); } else { return ((decimal) oNo).ToString("p",oNfi); } }} // End Class} // End NameSpace
下一篇:C#对XML操作:编辑XML文件内容 >>
相关文章:
- · Destructors in C#
- · 特洛伊木马服务器源代码(C#)
- · [C#]I/O完成端口的类定义和测试实例
- · 选择文件夹的对话框控件c#
- · C#实现Web文件的上传
- · 用C#实现生成PDF文档
- · 用C#实现生成PDF文档
- · 一个FTP客户端的C#代码
- · C# struct & class Differences
- · C++编程人员容易犯的10个C#错
- · C#冒泡算法!
- · 如何在C#的WinForm中制作饼状图和柱状图
- · 使用响应文件编译C#源文件
- · 用C#写vs插件中的一些Tip
- · 用C#生成中文汉字验证码的基本原理
- · 用托盘控制windows服务的c#实现
- · ASP.NET的实时天气及24小时天气预报(C#)
- · 使用C#代码实现增加用户帐号
- · 用c#写的smtp邮件发送类
- · C# Builder 实现POP3信箱的监视
- · 一个有KeepConnection开关的C#的Database类
- · 一个用C#写的词法分析程序
- · 利用自定义事件实现不同窗体间的通讯 -- C#篇
- · 用C#开发.NET CF 蓝牙通信模块
- · 关于C#下写的Web Service 服务在Delphi下调用时的问题
- · 用C#写的一个简单屏幕保护程序
- · .Net/C#: 利用反射编写通用的 rss 2.0 的 reader
- · C# Programming guidlines
- · QQ验证码识别源代码(C#/NET1.1)
- · C#教学经验谈(3):储蓄计算器的源程序
- · C#实现Window管道技术
- · C#教学经验谈(2):会跑的按钮
- · c#取得汉字的拼音的首字母
- · C#做的一个加密/解密的类
- · c#发送需要smtp认证的邮件
- · c#中ref和out参数使用时需要注意的问题
- · 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- · C#代码
