C#如何实现数据库连接信息保存在文本中,如何读取该文本信息进行连接数据库的操作。 连接数据库的信息?

 我来答
coder_tmp
推荐于2016-09-18 · TA获得超过443个赞
知道小有建树答主
回答量:547
采纳率:100%
帮助的人:352万
展开全部
1.数据库连接:在config文件中的形式
<connectionStrings>
<add name="dbConnection" connectionString="Data Source=192.168.1.100;Initial Catalog=NanFangMgr;User ID=sa;PassWord=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
2.在C#中调用:
System.Configuration.ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString
3.将上述连接串保存到文本文件中
private string FILE_NAME = Application.StartupPath + "\\mytxtFile.txt";

private void WriteFile(string str)
{
StreamWriter sr;
if (File.Exists(FILE_NAME)) //如果文件存在,则创建File.AppendText对象
{
sr = File.AppendText(FILE_NAME);
}
else //如果文件不存在,则创建File.CreateText对象
{
sr = File.CreateText(FILE_NAME);
}
sr.WriteLine(str);
sr.Close();
}

4.从文本文件中去内容
private String ReadTxtFile()
{
if (File.Exists(FILE_NAME)) //如果文件存在
{
String[] strs = System.IO.File.ReadAllLines(FILE_NAME);
return strs[strs.Length - 1];
}
return String.Empty;
}

5.数据库连接,并操作
5.1 查询
String ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
public DataTable Query(String where)
{
String sql = String.Format("select * from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", "").Replace("insert", "").Replace(";", "").Replace("--", "").Replace("exec", ""));
try
{
SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(ConnectionString));
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
catch
{
return null;
}
}
5.2 新增
public int New(Entities.mytable obj)
{
String sql = "insert into mytable(pkid,a,b,c) values(@pkid,@a,@b,@c)";
SqlConnection cn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@a", obj.a);
cmd.Parameters.AddWithValue("@b", obj.b);
cmd.Parameters.AddWithValue("@c", obj.c);
cmd.Parameters.AddWithValue("@pkid",
String.Empty.Equals(obj.pkid) ? System.Guid.NewGuid().ToString() : obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
5.3 编辑
public int Update(Entities.mytable obj)
{
String sql = "Update mytable Set a=@a,b=@b,c=@c Where pkid=@ObjectID";

SqlConnection cn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@a", obj.a);
cmd.Parameters.AddWithValue("@b", obj.b);
cmd.Parameters.AddWithValue("@c", obj.c);
cmd.Parameters.AddWithValue("@pkid", obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
5.4 删除
public int Del(String where)
{
String sql = String.Format("delete from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", ""));
SqlConnection cn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
yubang2010
2012-06-03 · 超过68用户采纳过TA的回答
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:147万
展开全部
同学你这一下子提的是三个问题!那么,对于你的问题我的回答如下:
1.将数据库的连接信息保存在文本中。其实很多人的做法是将连接信息保存到一个配置文件中。那么我直接告诉你获取数据库连接的字符串吧,你可以在设置连接服务器中,指定一个数据库,完成之后直接右键连接数据库的属性,这就是你需要的。
2.连接数据库需要用到SqlConnection类,它是SqlClient命名空间中的类。实例化它需要连接数据库的字符串作为参数。SqlConnection connection=new SqlConnection(str);
然后打开连接:connection.Open();
这样之后你就可以直接于数据库进行通信了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式