SqlCommand cmd = new SqlCommand();
cmd.CommandText = String.Format("select count(1) from person");
cmd.ExecuteScalar();//返回查询结果的第一行第一列的值
在做项目的时候,经常需要使用数据库来查询或操作数据,按照“笨方法”,需要每一次写代码时,输入: SqlConnection cnn = new SqlConnection("server=.;database=class;user=sa;pwd=123");万一因为要换数据库,或者密码,账号更换,需要在每一条数据上修改,先不说修改的数据对不对,万一没修修改完全,那很麻烦了。此时需要一个方法,修改一处地方,其余的代码值也随之改变。
以下有两种方法:
(1)建立一个类,在类的里面创建一个静态方法,返回配置的字符串。
缺点:在本地计算机上可以正常使用,但是当把Debug文件夹下的文件打包传给客户时,如果要修改数据库连接配置,那就没法改了。我们的目的是可以在此文件夹下的文件(后缀名为:.config)进行修改。
public static string config()
{
return "这是配置";
}
(2)在App.config文件下添加
添加引用System.Configuration
在App.config中:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--连接字符串的配置节点-->
<connectionStrings>
<add name="sql2" connectionString="123456" /><!--此处的name相当于key-->
</connectionStrings>
<!--应用程序配置-->
<appSettings>
<!--此处必须是 <appSettings> 放内容</appSettings> 原先没有这个,手动添加的-->
<add key="sqlconnect" value="server=.;database=person;user=sa;pwd=123" />
</appSettings>
<!--下面为程序中自带的-->
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
在Program主函数中:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
namespace ConsoleApplication16
{
class Program
{
static void Main(string[] args)
{
//引用命名空间using System.Configuration;
//调用 ConfigurationManager.AppSettings[key值],返回值为value值
//a为连接的字符串命令
string a = ConfigurationManager.AppSettings["sqlconnect"];
Console.WriteLine(a);
//sql2为name值,返回值为connectionString的值
string b = ConfigurationManager.ConnectionStrings["sql2"].ConnectionString;
Console.WriteLine(b);
Console.ReadKey();
}
}
}
完!