在C#中调用ADODB.Connection的方法,首先打开ADODB.Connection连接时,Open原型中的Options该如何填写??
void _Connection.Open(string ConnectionString,string UserId,string Password,int Options)
还有,我需要在ADODB.Connection中执行“Select”以取得数据库中的值,我用了ADODB.Connection.Excute(string commamdText,out object RecordsAffected,int Options),我传Options时传了0,因为也不知道该传什么,总是没有数据返回,请高手指教???

解决方案 »

  1.   

    执行Select语句,如果返回DataSet类型的如下:
    /// <summary>
            /// 执行默认的SQL语句,并返回结果集
            /// </summary>
            /// <returns>成功:非null;否则:null</returns>
            public DataSet OpenSQL()
            {
                DataSet Result = null;
                if (!IsOpen) return Result;
                using (SqlDataAdapter SqlDA = new SqlDataAdapter(sql, DBConn))
                {
                    try
                    {
                        Result = new DataSet();
                        SqlDA.Fill(Result);
                    }
                    catch                 
                    {
                        if (null != Result)
                        {
                            Result.Dispose();
                            Result = null;
                        }
                    }
                }
                return Result;
            }返回DataReader
      

  2.   

    使用C#还有这种形式就不适合了
    使用SqlConnection,OledbConnection
      

  3.   

    主要是调用了一个DLL(它里面做了一些Insert操作),但是我又要自己做一些Insert,所以要用同一个Connection,放在一个事物里面,所以
      

  4.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Data;
    using System.Data.SqlClient;namespace JGExam
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }        public void bind()
            {
                this.dataGridView1.DataSource =SelectData("select * from 表名");
            }        private void Form2_Load(object sender, EventArgs e)
            {
                bind();
            }        string sql = "Data Source=.;Initial Catalog=数据库名称;User ID=sa;password=sa";
            public static bool ExcuteInsertUpdateDelete(string sql)
            {
                using (SqlConnection sqlcon = new SqlConnection(ConnectionString))
                {
                    using (SqlCommand sqlcmd = new SqlCommand(sql, sqlcon))
                    {
                        try
                        {
                            sqlcon.Open();
                            int rs = sqlcmd.ExecuteNonQuery();
                            if (rs > 0)
                            {
                                return true;
                            }
                            else
                            {
                                return false;
                            }
                        }                    catch
                        {
                            return false;
                        }
                        finally
                        {
                            sqlcon.Close();
                        }
                    }
                }
            }
            public static DataTable SelectData(string sql)
            {
                using (SqlConnection sqlcon = new SqlConnection(ConnectionString))
                {
                    using (SqlDataAdapter sqladpa = new SqlDataAdapter(sql, sqlcon))
                    {
                        using (DataSet ds = new DataSet())
                        {
                            sqladpa.Fill(ds);
                            return ds.Tables[0];
                        }
                    }
                }        }
            private void button1_Click(object sender, EventArgs e)
            {
                string strid = this.textBox1.Text;
                string strname = this.textBox2.Text;
                string strscore = this.textBox3.Text;
                if (ExcuteInsertUpdateDelete("insert into 表名 values('" + strid + "','" + strname + "','" + strscore + "')"))
                {
                    MessageBox.Show("Ok!");
                    bind();
                }
                else { MessageBox.Show("NO!"); }        }    }
    }
      

  5.   

    ADODB.Connection这个是什么哦,没见过,居然被楼主说是类库
      

  6.   

    估计是,自己写的 Dll 类。封装好的。
      

  7.   

    查一下msdn就知道了
    http://msdn.microsoft.com/en-us/library/ms676505(VS.85).aspx
    http://msdn.microsoft.com/en-us/library/ms675023(VS.85).aspx
    对于ado的对象,一般都是用-1表示不指定值或缺省
      

  8.   

    楼主不会是从VB转过来的吧?
    用OledbConnection 连接 Excel,Access..
    用SqlConnection连接MS SQL 2000/2005/2008..