cmd.ExecuteScalar 和配置连接设置
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(); } } }
完!