当前位置:编程学习 > C#/ASP.NET >>

帮帮忙:ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;

namespace StudentMangerSystem
{
    class DBConn
    {
    

        //==============建立连接=================================
        public static OleDbConnection DBCon()
        {

            String connectionString =
                "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|xb.mdb";
            return new OleDbConnection(connectionString);
        }

        
      public static DialogResult MessageOk(string value)
         {
            return MessageBox.Show(value, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
       
       
       public static DataTable ExecSqlReturnDataTable(string SqlStr)
        {
            DataSet ds = new DataSet();
            DataTable table = new DataTable();
            
            OleDbConnection con = DBCon();
            
            try
            {
               OleDbDataAdapter da = new OleDbDataAdapter(SqlStr, con);
                da.Fill(ds, "Table");
                table = ds.Tables["Table"];
                return table;
            }
            catch (Exception ex)
            {
                con.Close();
                DBConn.MessageOk(ex.Message);
                return table;
            }
            finally
            {
                con.Close();
               

            }
        }
        /// <summary>
  public static bool ExecSqlReturn(string SqlStr, string ParaPic, byte[] Pic)
        {
      
            OleDbConnection con = DBCon();
             OleDbCommand com = new OleDbCommand();
            com.Parameters.Add(ParaPic, OleDbType.Date);
            com.Parameters[0].Value = Pic;
            com.Connection = con;
        
            com.CommandText = SqlStr;
            try
            {
                com.ExecuteNonQuery();
              con.Close();

                return true;
            }
            catch (Exception ex)
            {
                DBConn.MessageOk(ex.Message);
                return false;
            }
            finally
            {
             con.Close();
            }
        }
        /// <summary>
 
        public static bool ExecSqlReturn(string SqlStr)
        {

            OleDbConnection con = DBCon();
            OleDbCommand com = new OleDbCommand();
            com.Connection = con;
            com.CommandText = SqlStr;
            try
            {
                com.ExecuteNonQuery();
               con.Close();

                return true;
            }
            catch (Exception ex)
            {
                DBConn.MessageOk(ex.Message);
                return false;
            }
            finally
            {
                con.Close();
            }
        }
        /// <summary>
        /// 返回单一值的查询
        /// </summary>
          public static object ExecSqlScalar(string SqlStr)
        {
            OleDbConnection con = DBCon();
            OleDbCommand com = new OleDbCommand();
            com.Connection = con;
            com.CommandText = SqlStr;
            try
            {
                return com.ExecuteScalar();
            }
            catch
            {
                con.Close();
                return null;
            }
            finally
            {
                con.Close();
            }
        }
    }
}
紧急啊~~ --------------------编程问答-------------------- 你的con都没有open过,必须报错啊

  //==============建立连接=================================
  public static OleDbConnection DBCon()
  {

  String connectionString =
  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|xb.mdb";
  OleDbConnection con = new OleDbConnection(connectionString);
  con.Open();
return con;
  } --------------------编程问答--------------------

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;

namespace StudentMangerSystem
{
  class DBConn
  {
   

  //==============建立连接=================================
  public static OleDbConnection DBCon()
  {

   String connectionString =
   "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|xb.mdb";
   OleDbConnection con =  new OleDbConnection(connectionString);
    if (con .State != ConnectionState.Open)
   { 
      con.Open(); //打开连接
   }
   return con; 
  }

   
  public static DialogResult MessageOk(string value)
  {
  return MessageBox.Show(value, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  }
   
   
  public static DataTable ExecSqlReturnDataTable(string SqlStr)
  {
  DataSet ds = new DataSet();
  DataTable table = new DataTable();
   
  OleDbConnection con = DBCon();
   
  try
  {
  OleDbDataAdapter da = new OleDbDataAdapter(SqlStr, con);
  da.Fill(ds, "Table");
  table = ds.Tables["Table"];
  return table;
  }
  catch (Exception ex)
  {
  con.Close();
  DBConn.MessageOk(ex.Message);
  return table;
  }
  finally
  {
  con.Close();
   

  }
  }
  /// <summary>
  public static bool ExecSqlReturn(string SqlStr, string ParaPic, byte[] Pic)
  {
   
  OleDbConnection con = DBCon();
  OleDbCommand com = new OleDbCommand();
  com.Parameters.Add(ParaPic, OleDbType.Date);
  com.Parameters[0].Value = Pic;
  com.Connection = con;
   
  com.CommandText = SqlStr;
  try
  {
  com.ExecuteNonQuery();
  con.Close();

  return true;
  }
  catch (Exception ex)
  {
  DBConn.MessageOk(ex.Message);
  return false;
  }
  finally
  {
  con.Close();
  }
  }
  /// <summary>
 
  public static bool ExecSqlReturn(string SqlStr)
  {

  OleDbConnection con = DBCon();
  OleDbCommand com = new OleDbCommand();
  com.Connection = con;
  com.CommandText = SqlStr;
  try
  {
  com.ExecuteNonQuery();
  con.Close();

  return true;
  }
  catch (Exception ex)
  {
  DBConn.MessageOk(ex.Message);
  return false;
  }
  finally
  {
  con.Close();
  }
  }
  /// <summary>
  /// 返回单一值的查询
  /// </summary>
  public static object ExecSqlScalar(string SqlStr)
  {
  OleDbConnection con = DBCon();
  OleDbCommand com = new OleDbCommand();
  com.Connection = con;
  com.CommandText = SqlStr;
  try
  {
  return com.ExecuteScalar();
  }
  catch
  {
  con.Close();
  return null;
  }
  finally
  {
  con.Close();
  }
  }
  }
}
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,