差异
在本地连接数据库也分为很多种,有直接打包成数据库包,有的直接连接数据库,在c#中或者开发.net,一般连得数据库都是SqlServer再或者是oracle。
但是数据库的链接都是一样的。只是修改下链接地址,
另外本地数据库也分为需要密码和不需要密码的两种验证方式。
本地免密sql链接
我是用的vs2019版本,链接的SqlServer2008r2
链接ftp数据库
SqlConnectionStringBuilder scsb= new SqlConnectionStringBuilder();
scsb.DataSource = " "; //链接ftp地址
scsb.InitialCatalog = ""; //数据库名字
scsb.UserID = " "; //用户名
scsb.Password = " ";//密码
string sqlStr="select * from t_s";
SqlConnection sqlConn = new SqlConnection(scsb.ToString()); sqlConn.Open();
SqlCommand sqlComm = new SqlCommand(sqlStr, sqlConn);
SqlDataReader reader = sqlComm.ExecuteReader();
while(reader.Read())
{
reader["PassWord"].ToString() ;
}
这是直接查询然后循环读出,这种方式其实应用打的很少的,不好整理,以及数据的应用。只有在一些特定的情况才使用这种方式。
读取数据库,ftp然后直接放入一个 DataSet 表格形式
//前面的不变,主要后面的用SqlDataAdapter 来接收
SqlDataAdapter myda = new SqlDataAdapter(sql1, sqlConnection);
DataSet myds = new DataSet();
myda.Fill(myds );
这种方式比较好用,但是要是使用三层结构(注意:三层跟MVC是不一样的,请不要混搅)来返回,在BLL层中也尽量不要返回这种数据形式。
把dataset转换成list集合
DataSet daset = new DataSet();
List<string> li = new List<string>();
for (int i = 0; i < daset.Tables[0].Rows.Count; i++)
{
li.Add(daset.Tables[0].Rows[i][0].ToString());
}
转变成list集合,从DAL来进行返还到BLL层。这样不论是取值还是进行验证都比较方便。也是目前连接数据库的最常用的方法。希望这些小经验,帮助大家。