小弟只放了一个ComboBox控件(WinForm的).
然后添加如下代码:
public Form1()
{
InitializeComponent();
//TODO: 在 InitializeComponent 调用后添加任何构造函数代码
string str="server=ROBBER;uid=sa;pwd=;database=pubs";
SqlConnection conn=new SqlConnection(str);
string sql="select * from stores";
SqlDataAdapter adapter=new SqlDataAdapter(sql,conn);
DataSet dataset=new DataSet();
adapter.Fill(dataset,"stores");
this.comboBox1.DisplayMember="stor_name";
this.comboBox1.DataSource=dataset.Tables["stores"];
}
结果运行是提示:
未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。其他信息: 系统错误。 怎么解决?
然后添加如下代码:
public Form1()
{
InitializeComponent();
//TODO: 在 InitializeComponent 调用后添加任何构造函数代码
string str="server=ROBBER;uid=sa;pwd=;database=pubs";
SqlConnection conn=new SqlConnection(str);
string sql="select * from stores";
SqlDataAdapter adapter=new SqlDataAdapter(sql,conn);
DataSet dataset=new DataSet();
adapter.Fill(dataset,"stores");
this.comboBox1.DisplayMember="stor_name";
this.comboBox1.DataSource=dataset.Tables["stores"];
}
结果运行是提示:
未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。其他信息: 系统错误。 怎么解决?
System.Data.SqlClient
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
private string ConnToDB(string psAppName,IDbConnection pConn) {
string sConfigFile ;
string sServer, sDBName, sUser, sPwd, sCnStr;
string sError = "";
//sConfigFile = CUtility.GetWinDir() + "\\" + "Config.ini";
sConfigFile = CUtility.GetWinDir() + "\\" + "Config.xml";
if (!File.Exists(sConfigFile)) {
sError = "ConnToDB:配置文件不存在,無法連接數據庫.";
throw new Exception(sError);
//return sError;
} //m_DBType = SetDBType(CUtility.IniGetValue(psAppName, "DBTYPE", sConfigFile));
//sServer = CUtility.IniGetValue(psAppName, "SERVERNAME", sConfigFile);
//sDBName = CUtility.IniGetValue(psAppName, "DBNAME", sConfigFile);
//sUser = CUtility.IniGetValue(psAppName, "USERNAME", sConfigFile);
//sPwd = CUtility.IniGetValue(psAppName, "USERPWD", sConfigFile); m_DBType = SetDBType(CUtility.XmlGetValue(psAppName, "DBTYPE", sConfigFile));
sServer = CUtility.XmlGetValue(psAppName, "SERVERNAME", sConfigFile);
sDBName = CUtility.XmlGetValue(psAppName, "DBNAME", sConfigFile);
sUser = CUtility.XmlGetValue(psAppName, "USERNAME", sConfigFile);
sPwd = CUtility.XmlGetValue(psAppName, "USERPWD", sConfigFile); sPwd = CUtility.Decrypt(sPwd); sCnStr = "";
switch (m_DBType.ToString()) {
case "MSSQL":
sCnStr = "Connect timeout=3000;Data Source=" + sServer + ";Initial Catalog=" + sDBName +
";User ID=" +sUser + ";Password=" + sPwd;
break;
case "OLEDB":
sCnStr = "Provider=SQLOLEDB.1;Persist Security Info=False;Connect timeout=30;Data Source=" + sServer + ";Initial Catalog=" + sDBName +
";User ID=" + sUser + ";Password=" + sPwd;
//sCnStr = "User ID=sa;password=sa;Data Source=10.128.38.135;Tag with column collation when possible=False;Initial Catalog=ExpatriateClub;Use Procedure for Prepare=1;Auto Translate=True;Persist Security Info=False;Provider=SQLOLEDB.1;Use Encryption for Data=False;Packet Size=4096"
break;
case "ORACLE":
sCnStr = "Data Source=" + sServer + ";User ID=" + sUser + ";Password=" +sPwd;
break;
case "ACCESS":
sCnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sServer +
";User ID=" + sUser + ";Password=" + sPwd;
break;
}
this.m_ConnString = sCnStr; try {
pConn.ConnectionString = sCnStr;
pConn.Open();
return "";
}
catch (Exception ex) {
sError = "ConnToDB:" + ex.Message;
throw new Exception(sError);
//return sError;
}
}
改為:
string str="Data Source=ROBBER;User ID=sa;Password=;Initial Catalog=pubs";
改成:
string str="server=ROBBER;Integrated Security=SSPI;database=pubs";就连上了.谢谢啦