Self-woven personal dataproxy

Source: Internet
Author: User
Tags foreach empty connect sort split trim

Using System;
Using System.Data;
Using System.Data.SqlClient;

Namespace Dataproxy
{
<summary>
Note: This class mainly implements the operation of the database (query | SP)
Established by: Huang Zongban
Establishment Time: 2004-12-4
</summary>
public class Dataproxy
{
#region Read Data
<summary>
Querying data from a database
</summary>
<param name= "Rowscount" > returns the top record number </param>
<param name= "Columns" > Query column name </param>
<param name= "target" > Query target </param>
<param name= "Condition" > Query conditions </param>
<param name= "ORDER By" > Sort </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> Query Results </returns>
public static DataSet getdbdata (int rowscount, string Columns, String Target, String Condition, string by, string Co Nnect, ref string Ex)
{
Ex = string. Empty;
SqlConnection SqlConnection = new SqlConnection (Connect);
Try
{
string[] Arrcolumns = Columns.split (', ');
String strquery = "SELECT top" + Rowscount + "" + (Arrcolumns[0]. Trim () = = "*")? "*": "[" + arrcolumns[0]. Trim () + "]");
for (int i = 1; i < arrcolumns.length; i++)
{
Strquery + = ", [" + arrcolumns[i]. Trim () + "]";
}
Strquery + = "from [" + Target + "]";

if (Condition!= null && condition.trim ()!= string. Empty)
{
Strquery + = "WHERE" + Condition;
}

if (by!= null && Orderby.trim ()!= string. Empty)
{
Strquery + = "ORDER BY" + order;
}

SqlDataAdapter SqlDataAdapter = New SqlDataAdapter (Strquery, SqlConnection);

DataSet ds = new DataSet ();
Sqldataadapter.fill (DS);

Sqlconnection.close ();
return DS;
}
catch (SqlException ex)
{
Sqlconnection.close ();
ex = ex. message;
return null;
}
}

<summary>
Querying data from a database
</summary>
<param name= "Columns" > Query column name </param>
<param name= "target" > Query target </param>
<param name= "Condition" > Query conditions </param>
<param name= "ORDER By" > Sort </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> Query Results </returns>
public static DataSet Getdbdata (String Columns, String Target, String Condition, string by, string Connect, ref stri ng Ex)
{
Ex = string. Empty;
SqlConnection SqlConnection = new SqlConnection (Connect);
Try
{
string[] Arrcolumns = Columns.split (', ');
String strquery = "Select";
int nstart = 0;
if (arrcolumns[0). Trim () = = "*")
{
Strquery + = "*,";
Nstart = 1;
}
for (int i = Nstart i < arrcolumns.length; i++)
{
string[] Arrcolumn = arrcolumns[i]. Trim (). Split (")";
strquery = "[" + arrcolumn[0]. Trim () + "]";
if (Arrcolumn.length > 1)
{
strquery = "[" + arrcolumn[1]. Trim () + "]";
}
Strquery + = ",";
}
strquery = strquery.substring (0, Strquery.length-1) + "from [" + Target + "]";

if (Condition!= null && condition.trim ()!= string. Empty)
{
Strquery + = "WHERE" + Condition;
}

if (by!= null && Orderby.trim ()!= string. Empty)
{
Strquery + = "ORDER BY" + order;
}

SqlDataAdapter SqlDataAdapter = New SqlDataAdapter (Strquery, SqlConnection);

DataSet ds = new DataSet ();
Sqldataadapter.fill (DS);

    sqlconnection.close ();
    return ds;
   }
   catch (SqlException ex)
   {
     Sqlconnection.close ();
    ex = Ex. message;
    return null;
   }
  }

<summary>
Querying data from a database
</summary>
<param name= "Columns" > Query column name </param>
<param name= "target" > Query target </param>
<param name= "Condition" > Query conditions </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> Query Results </returns>
public static DataSet Getdbdata (String Columns, String Target, String Condition, String Connect, ref string Ex)
{
Ex = string. Empty;

DataSet ds = Getdbdata (Columns, Target, Condition, null, Connect, ref Ex);

if (Ex!= string. Empty)
{
return null;
}

return DS;
}

  ///<summary>
  ///query data from the database
  ///</summary>
   ///<param name= "Columns" > Query column name </param>
  ///<param name= "target" > Query destination </ Param>
  ///<param name= "Pkcolumn" > Primary key column name </param>
  ///<param name= " Pkvalue > Primary key value </param>
  ///<param name= "Q" > whether to add quotes </param>
  /// <param name= "Connect" > Connection string </param>
  ///<param name= "Ex" > Exception information </param>
  ///<returns> return query results </returns>
  public static DataTable getdbdata (string Columns, String Target, String pkcolumn, String pkvalue, bool Q, string Connect, ref string Ex)
  {
  ;   ex = string. Empty;
   string strcondition = null;

if (pkcolumn!= null)
{
Strcondition = "[" + Pkcolumn + "] =";
if (Q)
{
Strcondition + = "'" + Pkvalue + "'";
}
Else
{
Strcondition + = Pkvalue;
}
}

DataSet ds = Getdbdata (Columns, Target, strcondition, Connect, ref Ex);

if (Ex!= string. Empty)
{
return null;
}

Return DS. Tables[0];
}
#endregion

#region Execute Stored Procedures
<summary>
Execute a stored procedure to return a value through a parameter
</summary>
<param name= "P" > Stored procedure name </param>
<param name= "xsd" > DataSet object </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> Implementation Results </returns>
public static void Execparam (string P, DataSet xsd, string Connect, ref string Ex)
{
SqlConnection SqlConnection = new SqlConnection (Connect);

Try
{
SqlCommand SqlCommand = new SqlCommand (P, SqlConnection);
Sqlcommand.commandtype = CommandType.StoredProcedure;

    if (XSD. Tables[' in ']!= null)
    {
     foreach (DataColumn dc in XSD. Tables["in"]. Columns)
     {
      sqlcommand.parameters.add (" @ "+ DC. ColumnName, DC. DataType);
      sqlcommand.parameters["@" + DC. ColumnName]. Value = DC. TABLE.ROWS[0][DC. ColumnName];
     }
    }

    if (XSD. tables[' out ']!= null
    {
     foreach (DataColumn dc in XSD. tables["Out". Columns)
     {
      sqlparameter SqlParameter = New SqlParameter ("@" + DC.) ColumnName, DC. DataType);
      sqlparameter.direction = parameterdirection.inputoutput;
      sqlparameter.value = System.DBNull.Value;
      if (XSD. tables["Out". Rows.Count > 0)
      {
        Sqlparameter.value = DC. TABLE.ROWS[0][DC. ColumnName];
      }
      sqlcommand.parameters.add (SqlParameter);
     }
    }

    sqlconnection.open ();
    sqlcommand.executenonquery ();

    if (XSD. Tables["out"]!= null)
    {
     datarow dr = xsd. tables["Out". NewRow ();
     xsd. tables["Out". Rows.insertat (DR, 0);
     for (int i = 0; i < xsd. tables["Out". Columns.count; i++)
     {
      string strColumnName = xsd. tables["Out". Columns[i]. ColumnName;
      xsd. tables["Out". Rows[0][i] = sqlcommand.parameters["@" + strcolumnname]. Value;
     }
    }
   }
   catch (SqlException ex)
   {
    ex = ex. message;
   }
   finally
   {
    sqlconnection.close ();
&NBSP;&NBSP;&NBSP}
  }
   #endregion

#region four basic statements

<summary>
Execute Select
</summary>
Text after <param name= "text" >select </param>
<param name= "DS" > Output query Results </param>
<param name= "srctable" > Name of the source table for table mappings </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> returns the number of rows </returns>
public static int Select (string Text, ref DataSet DS, String srctable, String Connect, ref string Ex)
{
Return Fill ("select" + Text, ref ds, Srctable, Connect, ref Ex);
}

public static int Select (string Text, ref DataSet DS, String Connect, ref string Ex)
{
Return Fill ("select" + Text, ref ds, Connect, ref Ex);
}

<summary>
Execute a string of SQL statements
</summary>
<param name= "text" >sql text </param>
<param name= "DS" > Output query Results </param>
<param name= "srctable" > Name of the source table for table mappings </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> returns the number of rows </returns>
public static int Fill (string Text, ref DataSet DS, String srctable, String Connect, ref string Ex)
{
Ex = string. Empty;
int nfill = 0;
Try
{
SqlDataAdapter SqlDataAdapter = New SqlDataAdapter (Text, Connect);
Nfill = Sqldataadapter.fill (ds, srctable);
return Nfill;
}
catch (SqlException ex)
{
ex = ex. message;
return Nfill;
}
catch (Exception ex)
{
Throw ex;
}
}

public static int Fill (string Text, ref DataSet DS, String Connect, ref string Ex)
{
Return Fill (Text, ref ds, "Table", Connect, ref Ex);
}

  ///<summary>
  ///Execute insert
  ///</summary>
   ///<param name= text </param> after "text" >insert
  ///<param name= "Connect" > Connection string </param>
  ///<param name= "Ex" > Exception information </param>
  ///<returns> Returns the number of rows </returns>
  public static int Insert (string Text, String Connect, ref string Ex)
   ; {
   return ExecuteNonQuery ("INSERT" + Text, Connect, ref Ex);
  }

  ///<summary>
  ///Execute update
  ///</summary>
   ///<param name= text </param> after "text" >update
  ///<param name= "Connect" > Connection string </param>
  ///<param name= "Ex" > Exception information </param>
  ///<returns> Returns the number of rows </returns>
  public static int Update (string Text, String Connect, ref string Ex)
   ; {
   return ExecuteNonQuery ("UPDATE" + Text, Connect, ref Ex);
  }

<summary>
Execute Delete
</summary>
Text after <param name= "text" >delete </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> returns the number of rows </returns>
public static int Delete (string Text, String Connect, ref string Ex)
{
Return ExecuteNonQuery ("DELETE" + Text, Connect, ref Ex);
}

<summary>
Execute an SQL statement (not a SELECT clause)
</summary>
<param name= "text" >sql text </param>
<param name= "Connect" > Connection string </param>
<param name= "Ex" > Exception information </param>
<returns> returns the number of rows </returns>
public static int ExecuteNonQuery (string Text, String Connect, ref string Ex)
{
int nfill = 0;
Ex = string. Empty;
SqlConnection SqlConnection = new SqlConnection (Connect);
Try
{
SqlCommand SqlCommand = new SqlCommand (Text, SqlConnection);
Sqlconnection.open ();
Nfill = SqlCommand.ExecuteNonQuery ();
return Nfill;
}
catch (SqlException ex)
{
Sqlconnection.close ();
ex = ex. message;
return Nfill;
}
catch (Exception ex)
{
Sqlconnection.close ();
Throw ex;
}
Finally
{
Sqlconnection.close ();
}
}
#endregion
}
}




Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.