我要用C#开发一个程序,想用odbc链接数据库。odbc建立用户数据源后密码在重启后要不要重新输入啊?
那位大虾能给我些odbc链接数据库的代码资料啊。(odbc建立用户数据源后与数据库相连的代码,C#中的)
谢谢了!!!
望各位大虾帮帮忙啊!

解决方案 »

  1.   

    你要连什么数据库?
    ado.net解决不了么?
      

  2.   

    ado.net 可以解 决的, 
      

  3.   

                DbConnectionStringBuilder builder = new DbConnectionStringBuilder();
                builder.ConnectionString = FDWareClass.sqlConnectionString;
                string database = builder["initial catalog"].ToString();
                string server = builder["data source"].ToString();
               string temp_str = "packet size=4096;data source=" + server + ";user id=" + this.textBox_loginUser.Text + ";persist security info=True;initial catalog=" + database + ";password=" + this.textBox_logingPWD.Text;
            //    string temp_str = "Provider=SQLOLEDB.1;data source=" + server + ";user id=" + this.textBox_loginUser.Text + ";persist security info=True;initial catalog=" + database + ";password=" + this.textBox_logingPWD.Text;            //Provider=SQLOLEDB.1;Password=vbbjq34yfd;Persist Security Info=True;User ID=sa;Initial Catalog=hollyfuse;Data Source=LVTAOACER
                try
                {
                    SqlConnection conn = new SqlConnection(temp_str);                conn.Open();
                    FDWareClass.sqlConnectionString = temp_str;                RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\", true);
                    FDWareClass.str_ReportPath = (string)regKey.GetValue(FDWareClass.str_ReportRegKey);
                    string tempstr = "select  * from e_envir where descript='ver'";                SqlCommand scmd = new SqlCommand(tempstr, conn);                SqlDataReader sdr = scmd.ExecuteReader();                int tmp_AppVer = 0;                //-*************设置licence
                  //  FDWareClass.setLicenceCode(FDWareClass.sqlConnectionString,FDWareClass .notLimitCode );
                  //  FDWareClass.setLicenceDate(FDWareClass.sqlConnectionString,FDWareClass.limitDate );
                   if (!FDWareClass.getLicenceDate(FDWareClass.sqlConnectionString) ) return ;                while (sdr.Read())
                    {
                        tempstr = Convert.ToString(sdr["var_char"]);
                        tmp_AppVer = Convert.ToInt32(sdr["var_integer"]);                }
                    if (tmp_AppVer > FDWareClass.appVer)
                    {
                        MessageBox.Show(this, "该程序的版本过低,所以不能使用此版本,最新的版本号为:" + tempstr + "; 请从\\\\192.168.0.3\\BestNewQCInspect\\  下所有文件!!  复制到你的 d:\\QCInspect\\ 下面即可! ^_^", "友情提示!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        FDWareClass.isLogin = false;
                        return;
                    }
      

  4.   

    public static void SetupConnectionString()
            {            try
                {                RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion", true);
                    string connConnectoinString = (string)regKey.GetValue(str_RegServerKey);                MSDASC.DataLinksClass dataLink = new MSDASC.DataLinksClass();                if (connConnectoinString == null)
                    {                    object conn = dataLink.PromptNew();                    if (conn != null)
                        {
                            string connString = (conn as ADODB.Connection).ConnectionString;
                            // MessageBox.Show(connString);                        //    regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Setup", true);
                            regKey.SetValue(str_RegServerKey, connString);
                            MessageBox.Show("服务器更改完毕", "caption", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        ADODB.Connection conn2 = new ADODB.Connection();
                        conn2.ConnectionString = connConnectoinString;
                        object conn2a = (object)conn2;
                        if (dataLink.PromptEdit(ref  conn2a))
                        {
                            string connString = (conn2a as ADODB.Connection).ConnectionString;   //(conn2a..ConnectionString;
                            regKey.SetValue(str_RegServerKey, connString);
                            MessageBox.Show("服务器更改完毕", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        else
                        {
                            MessageBox.Show("你放弃更改 服务器更改", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }            }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
            }        //***********************************************
      

  5.   

    sql连接名中有密码的话,重连时不再需要了!