美文网首页
c#常用方法和数据库有关

c#常用方法和数据库有关

作者: wppeng | 来源:发表于2017-10-24 20:41 被阅读0次

读取appSettings

1.appSettings设置

<appSettings>
  <!--关于微信的配置  Token:根据在微信公共平台申请开发模式时填写的值  AppID、AppSecret:开发者ID和密码(申请开发者成功后获得) -->
  <!--Token微信签名验证,AppID微信开发者ID,AppSecret微信开发者密码,TempID发送审核结果模板消息ID;TemplcID发送流程审核模板消息ID-->
  <!--IsWX:默认为0,不使用微信公众号;为1,使用微信公众号 -->
  <add key="IsWX" value="1"/>
  <add key ="Token" value="weixin"/>
  <add key ="AppID" value="wx6c7f3fb7662bde44"/>
  <add key ="AppSecret" value="33c934c849a352c8160e4470043d7df1"/>
  <add key="TempID" value="0CIS4La07XYVrdKp5VBJiWQ9aqsGtOB9ESlm8lOJ6mc"/>
  <add key="TemplcID" value="zxJmUcqQahH041075EFiSFRyDha17_o9fzlkEjAckj8" />
  <add key="WebServerIP" value="122.114.20.98"/>

</appSettings>

2.c#读取appSettings

    private static string Token = System.Configuration.ConfigurationManager.AppSettings["Token"].ToString();//根据在微信公共平台申请开发模式时填写的值 
    private static string AppID = System.Configuration.ConfigurationManager.AppSettings["AppID"].ToString(), AppSecret = System.Configuration.ConfigurationManager.AppSettings["AppSecret"].ToString();//开发者ID和密码(申请开发者成功后获得)
    private static string WebServerIP = System.Configuration.ConfigurationManager.AppSettings["WebServerIP"].ToString();//微信审核界面IP

连接数据库配置web.config

<connectionStrings>
<!---connectionString="Data Source=.;Initial Catalog=CMS_System;Persist Security Info=True;User id =sa;Password=wangpeng1993.;Max Pool Size=4096"-->
    <add name="sql" connectionString="Data Source=.,5555;Initial Catalog=CMS_System;Persist Security Info=True;User id =sa;Password=wangpeng;Max Pool Size=4096" providerName="System.Data.SqlClient" />
<!--是否给sql加密 connectionString=true则加密-->
    <add name="ConStringEncrypt" connectionString="false" providerName="System.Data.SqlClient" />
</connectionStrings>
读取数据库连接字符串web.config
ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
ConfigurationManager.ConnectionStrings["ConStringEncrypt"].ConnectionString;

数据库操作方法

  1. 执行SQL语句,返回影响的记录数(无参数)

     /// <summary>
     /// 执行SQL语句,返回影响的记录数
     /// </summary>
     /// <param name="SQLString">SQL语句</param>
     /// <returns>影响的记录数</returns>
     public static int ExecuteSql(string SQLString)
     {
         using (SqlConnection connection = new SqlConnection(connectionString))
         {
             using (SqlCommand cmd = new SqlCommand(SQLString, connection))
             {
                 try
                 {
                     connection.Open();
                     int rows = cmd.ExecuteNonQuery();
                     return rows;
                 }
                 catch (System.Data.SqlClient.SqlException e)
                 {
                     connection.Close();
                     throw e;
                 }
             }
         }
     }
    

2.执行查询语句,返回DataSet(无参数)

    /// <summary>
    /// 执行查询语句,返回DataSet
    /// </summary>
    /// <param name="SQLString">查询语句</param>
    /// <returns>DataSet</returns>
    public static DataSet DataSetQuery(string SQLString)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            DataSet ds = new DataSet();
            try
            {
                connection.Open();
                SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
                command.Fill(ds, "ds");
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                throw new Exception(ex.Message);
            }
            return ds;
        }
    }

3.返回数据表数据(无参数)

    /// <summary>
    /// 返回数据表数据(无参数)
    /// </summary>
    /// <param name="SQLString"></param>
    /// <returns></returns>
    public static DataTable DataTableInfo(string SQLString)
    {
        
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            DataTable dt = new DataTable();
            try
            {
                connection.Open();
                SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
                command.Fill(dt);
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                throw new Exception(ex.Message);
            }
            return dt;
        }

    }

带参数的类

1.带参数需要在此方法之上

    private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
    {
        if (conn.State != ConnectionState.Open)
            conn.Open();
        cmd.Connection = conn;
        cmd.CommandText = cmdText;
        if (trans != null)
            cmd.Transaction = trans;
        cmd.CommandType = CommandType.Text;//cmdType;
        if (cmdParms != null)
        {


            foreach (SqlParameter parameter in cmdParms)
            {
                if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
                    (parameter.Value == null))
                {
                    parameter.Value = DBNull.Value;
                }
                cmd.Parameters.Add(parameter);
            }
        }
    }

2.执行SQL语句,返回影响的记录数

    /// <summary>
    /// 执行SQL语句,返回影响的记录数
    /// </summary>
    /// <param name="SQLString">SQL语句</param>
    /// <returns>影响的记录数</returns>
    public static int ExecuteSql(string SQLString, params SqlParameter[] cmdParms)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                try
                {
                    PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                    int rows = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return rows;
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    throw e;
                }
            }
        }
    }
  1. 执行查询语句,返回DataSet

     /// <summary>
     /// 执行查询语句,返回DataSet
     /// </summary>
     /// <param name="SQLString">查询语句</param>
     /// <returns>DataSet</returns>
     public static DataSet DataSetQuery(string SQLString, params SqlParameter[] cmdParms)
     {
         using (SqlConnection connection = new SqlConnection(connectionString))
         {
             SqlCommand cmd = new SqlCommand();
             PrepareCommand(cmd, connection, null, SQLString, cmdParms);
             using (SqlDataAdapter da = new SqlDataAdapter(cmd))
             {
                 DataSet ds = new DataSet();
                 try
                 {
                     da.Fill(ds, "ds");
                     cmd.Parameters.Clear();
                 }
                 catch (System.Data.SqlClient.SqlException ex)
                 {
                     throw new Exception(ex.Message);
                 }
                 return ds;
             }
         }
     }
    

4.返回数据表数据(有参数)

    /// <summary>
    /// 返回数据表数据(有参数)
    /// </summary>
    /// <param name="SQLString">查询语句</param>
    /// <param name="cmdParms">查询条件参数</param>
    /// <returns></returns>
    public static DataTable DataTableInfo(string SQLString, params SqlParameter[] cmdParms)
    {
        
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand cmd = new SqlCommand();
            PrepareCommand(cmd, connection, null, SQLString, cmdParms);
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                DataTable dt = new DataTable();
                try
                {
                    da.Fill(dt);
                    cmd.Parameters.Clear();
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    throw new Exception(ex.Message);
                }
                return dt;
            }
        }

    }

相关文章

网友评论

      本文标题:c#常用方法和数据库有关

      本文链接:https://www.haomeiwen.com/subject/jlwxpxtx.html