快速开发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

时间: 2024-08-07 03:06:07

快速开发vs.net+c#程序(-)的相关文章

RapidWebDev框架 - 快速开发产品管理示例程序

首先,我们按照以往的思路,先将上一章中的t_product进行一定的扩展,如下图: 开发产品管理示例程序-net快速开发框架">在这里,我增加了一张T_PRODUCT_CATEGORY表,用于存放产品分类信息,分类为树型结构,另外增加了一个T_WAREHOUSE表,用于存放仓库信信息,然后在T_PRODUCT增加了相应的外键和一些扩展字段.有了数据表,就开始分别对分类和仓库建了对应的管理代码(CRUD, UI等),然后在产品页面对其调用.为了节约篇幅,这里就不贴这些代码了,反正是一大堆.

分享--基于ASP.NET的企业快速开发平台

问题描述 希望和大家多多互相交流,欢迎加入讨论群217909591.本平台提供完整的基于ASP.NET企业级快速开发框架2.本平台重点突出以元素配置开发法的配置化开发解决方案我们不妨用高度的抽象的眼光来看待我们所要开发的功能页面我们所有的页面都是由元素组成的如:一般查询页面上的查询条件元素.显示内容列元素.以及编辑画面上的可供用户输入的编辑元素.还有提供功能操作的功能按钮元素好,我们这样来看待页面开发,那就简单了我们得出公式:Page=元素1+元素2+元素3+--我们抽象出页面模型和元素模型,有

如何用java快速开发桌面应用程序?

问题描述 对于java的桌面应用程序开发,确实是一件很悲剧的事情,因为java开发的桌面程序界面很难控制.本人曾经用过两种方法开发桌面程序:1.纯代码版的swing开发2.matisse直接拖界面和.NET与VB差不多.第一种方法开发的速度相当的慢,第二种要快一些.但是对于我们习惯了WEB开发的程序员来说,用这两种方法开发的程序,开发速度和效果都感觉无法令人满意.于是我想到了用HTML开发界面...这样岂不是又快有好.目前我的构想是这样:java做主要逻辑处理,webkit做界面渲染,用一个si

FeResPost 4.1.0发布 后处理小程序的快速开发工具

FeResPost 是一个用于Nastran或Samcef有限元计算结果的后处理小程序的快速开发工具.该库允许有限元模式.群组和结果的简单操作.通过由编写C++/C++的耗时操作,支持有效的后处理.该库是分布式,用来作为一个COM组件,NET程序集,以及一个http://www.aliyun.com/zixun/aggregation/13430.html">Ruby扩展编译. FeResPost 4.1.0该版本更新了二进制文件. 软件信息:http://www.ferespost.be

FeResPost 4.0.10发布 后处理小程序的快速开发库

FeResPost是一个库,用于Nastran或Samcef有限元计算结果的后处理小程序的快速开发.该库允许有限元模式.群组和结果的简单操作.通过由编写C++/C++的耗时操作,支持有效的后处理.该库是分布式,用来作为一个COM组件,NET程序集,以及一个http://www.aliyun.com/zixun/aggregation/13430.html">Ruby扩展编译. FeResPost 4.0.10版本当Nastran OP2或xdb 结果文件结果读取时,使用默认属性的负载情况下

如何快速开发树形列表和分页查询整合的WInform程序界面

我在做Winform界面的时候,一般都是统一化处理,界面顶部放置一些字段条件供查询,下面就是分页查询列表,展示相关的数据.但有时候碰到一些表字段内容分类比较多,有一些特别重要,如果放在一个树形列表来进行快速分类查询,用户体验应该更好.本篇随笔主要介绍如何快速实现树形列表和分页查询整合的WInform程序界面. 1.标准WInform列表界面 标准的查询条件+列表数据展示的WInform界面如下所示. 这个界面主要就是通过代码生成工具(Database2Sharp)进行初期的Winform界面生成

使用AJAX技术开发新一代Web应用程序(2)

ajax|web|程序 开发新一代Web应用程序(2)-ajax与php web开发">图2 一个独立桌面应用程序的图解架构. 该应用程序运行于其自身的进程之中-在其内数据模型和程序逻辑彼此清晰可见.在同一台计算机上运行的该应用程序的第二个实例除了经由文件系统之外无法存取第一个实例的数据模型.典型地,全部程序状态存储在单个的文件中-当该应用程序运行时它被锁定以阻止任何信息的同步交换. 图3 客户端/服务器系统和n层架构图解. 该服务器提供一个客户可以用之进行交互的可共享的数据模型.客户端仍

.Net开发中文语音应用程序

随着.net技术深入人心,越来越多的程序员开始转到.net平台上进行开发.然而,在新发布的.net speech SDK里面并没有对中文语音进行支持,目前支持中文的Speech SDK最高版本为Windows平台下的SAPI 5.1(),本文介绍如何在.net平台下利用SAPI5.1开发中文语音应用程序. -------------------------------------------------------------------------------- 目录: 1. SAPI.51

.Net平台下开发中文语音应用程序

程序|中文 .Net平台下开发中文语音应用程序 -------------------------------------------------------------------------------- 摘要:语音是人类最自然的交互方式,也是现阶段软件用户界面发展的最高目标.微软公司一直积极推动语音技术的发展,并且公布了语音开发平台Speech SDK帮助开发人员实现语音应用.随着.net技术深入人心,越来越多的程序员开始转到.net平台上进行开发.然而,在新发布的.net speech