简单的数据库连接操作,用传参方法实现.
不过,在编译过程中出现很多问题.
请兄弟们看看!!
实现原理:
用户直接调用SqlConnection方法,填写相应的参数.实现连接数据库的功能.出现问题:
1,System.Data.Sqlclient.SqlException:在建立与胫务器的连接时出错.在连接到SQL Server2005时,在默认的设置下SQL Server不允许进行远程连接可能会导致此失败.(provider:命名管道提供程序,err:40-)(本机装有VS.NET2005自Dai的SQL Server),可我连接的是(local)???跟它有什么关系??????
2,System.NullReferenceException:没有将对象引用设置到对象的实例@!!!!是ds.Table["Zd_Xz"]中没有表Zd_Xz吗????
3,在dataGridView.DataSource=ds.Table["Zd_Xz"].DefaultView;中,发现静态成员:_objectTypeCount的值是:2:去掉参数,正常运行是:1;不知何故??????又如何 解决???具体代码如下: DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter();
#region 连接数据库
public static DataSet SqlConnection(string ser, string UID, string PWD, string DataBase,string myTableName)
{
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter();
try
{
string serv = "server=" + ser;
string ud = "uid=" + UID + ";";
string pd = "pwd=" + PWD + ":";
string database = "database=" + DataBase;
string source = serv + ud + pd + database;
//string source = "server=(local);" + "uid=sa;pwd=0703;" + "database=Fr_Hospital";(去掉参数时的Conn,成功连接) SqlConnection Conn = new SqlConnection(source);
Conn.Open(); sda.SelectCommand = GenerateSelectCommand(Conn);
sda.Fill(ds, "myTableName"); }
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
return null;
}
#endregion
不过,在编译过程中出现很多问题.
请兄弟们看看!!
实现原理:
用户直接调用SqlConnection方法,填写相应的参数.实现连接数据库的功能.出现问题:
1,System.Data.Sqlclient.SqlException:在建立与胫务器的连接时出错.在连接到SQL Server2005时,在默认的设置下SQL Server不允许进行远程连接可能会导致此失败.(provider:命名管道提供程序,err:40-)(本机装有VS.NET2005自Dai的SQL Server),可我连接的是(local)???跟它有什么关系??????
2,System.NullReferenceException:没有将对象引用设置到对象的实例@!!!!是ds.Table["Zd_Xz"]中没有表Zd_Xz吗????
3,在dataGridView.DataSource=ds.Table["Zd_Xz"].DefaultView;中,发现静态成员:_objectTypeCount的值是:2:去掉参数,正常运行是:1;不知何故??????又如何 解决???具体代码如下: DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter();
#region 连接数据库
public static DataSet SqlConnection(string ser, string UID, string PWD, string DataBase,string myTableName)
{
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter();
try
{
string serv = "server=" + ser;
string ud = "uid=" + UID + ";";
string pd = "pwd=" + PWD + ":";
string database = "database=" + DataBase;
string source = serv + ud + pd + database;
//string source = "server=(local);" + "uid=sa;pwd=0703;" + "database=Fr_Hospital";(去掉参数时的Conn,成功连接) SqlConnection Conn = new SqlConnection(source);
Conn.Open(); sda.SelectCommand = GenerateSelectCommand(Conn);
sda.Fill(ds, "myTableName"); }
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
return null;
}
#endregion
====
笔误么?
ds.Tables["Zd_Xz"]
在我机子上,(local)\SqlExpress没有建立连接!
3,在dataGridView.DataSource=ds.Table["Zd_Xz"].DefaultView;中,发现静态成员:_objectTypeCount的值是:2:去掉参数,正常运行是:1;不知何故??????又如何 解决???
以上当然不对了,你用如下
sda.Fill(ds, "myTableName");
名字是“myTableName”,所以你要通过ds.Table["myTableName"]来进行访问。
或者:sda.Fill(ds, "myTableName");----->sda.Fill(ds);
同时这个VS2005自带的SQL Server默认不支持使用用户名和密码进行登录,只能使用Windows验证