C#笔记

SQL Server数据库连接字符串

//windows身份验证1
            //string strCon = @"Data Source=.sqlexpress;Initial Catalog=db1;Integrated Security=True;Pooling=False";
            
            //windows身份验证2
            //string strCon = @"server=.sqlexpress;database=db1;Integrated Security=True;";

            //Sql Server身份验证1
            //string strCon = @"server=.sqlexpress;database=db1;uid=sa;pwd=123456";

            //Sql Server身份验证2
            //string strCon = @"Data Source=.sqlexpress;Initial Catalog=db1;User ID=sa;Password=123456;Pooling=False";

            /*
             从配置文件中读连接字符串
             在<configuration>标记中加上
             <connectionStrings>
                <add name="strCon" connectionString="server=.sqlexpress;database=db1;uid=sa;pwd=123456"/> 
             </connectionStrings>
            */
            string strCon = ConfigurationManager.ConnectionStrings["strCon"].ConnectionString;//先要添加程序集引用,再引入命名空间System.Configuration
>

 

SqlDataAdapter对象的构造方法

//(1)
SqlDataAdapter(SqlCommand cmd)

//(2)
SqlDataAdapter(string sql,string constr)
//例:
    SqlDataAdapter adapter=new SqlDataAdapter(sql,constr);
//如果使用参数化的sql语句,需要使用下面的语句添加参数
    adapter.SelectCommand.Parameters.AddRang(pms);

 

params类型参数

params类型通常和数组搭配使用,它表示参数的个数不确定,有可能1个,有可能多个,甚至有可能没有。如:

public void abc(params int[] a)
{

....

}

abc(1);//传一个整数,注意实参是整形,形参是整形数组,类型不匹配,如果没有params,肯定会报错。

abc(new int[]{1,2})//传一个含有2个整数的数组

abc();//没有实数

 

使用using关键字自动销毁对象

using (SqlConncetion con=new SqlConnection(constr))
{
...
...
}//数据库连接对象使用完后自动销毁

 

DataReader对象销毁时关闭数据库连接

cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

 

Window 应用程序的对话框

DialogResult result=MessageBox.Show("确定删除该数据?","确定删除?",MessageBoxButton.OKCancel);
//result表示对话框返回的值
if(result==DialogResult.OK)
{
...
}

 

partial关键字

部分类的关键字,.net2.0的语法糖。是为了把一个类分到两个文件里,达到物理分离逻辑不分离。

/*partial是局部类型的意思
就是说有这个关键字的类、结构或接口可以写成几个部分
比如*/
public partial class Program
  {
    static void Main(string[] args)
    {
    }
  }
  partial class Program
  { 
    public void Test()
    { 
    }
  }
//编译后它相当于
public class Program
  {
    static void Main(string[] args)
    {
    }
   public void Test()
    { 
    }
  }