---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
class Program
{
static void Main(string[] args)
{
//Server=.;database=HeiMaBlog;uid=xx;pwd=xx;
//Data Source=.;Initial Catalog=HeiMablog;Integrated security=True; 用window身份登录
//Data Source=.;Initial Catalog=HeiMablog;user id=xx;password=xxx;
//server 和 data source数据库服务器在哪,dayabase用哪个数据库
//server =./ip
SqlConnection conn = new SqlConnection("Data Source= .;Initial Catalog=School;Integrated security=True");
#region command的对象获取一个数据
/* //sqlConnection 连接数据库
//比较消耗网络资源,时间,内存,因此要启用连接池,默认是启用的,Pooling
SqlConnection conn = new SqlConnection("Data Source= .;Initial Catalog=School;Integrated security=True");
//准备一个命令对象
SqlCommand cmd = new SqlCommand();
//设置查询语句
string a = "select * from School";
cmd.CommandText =a;
//设置cmd的执行通道为conn对象
cmd.Connection = conn;
//打开连接数据库的通道
conn.Open();//在命令对象执行之前打开通道再打开
//输出sql语句执行的结果
//常用的三个方法
//ExecuteNonQuery() 执行对数据库的增删改,返回受影响的行
//ExecuteReader() 执行查询,返回DataReader对象
//ExecuteScalar() 执行查询,返回结果集的首行首列,如果查询结果为空,返回一个null
//
//查询多行数据ExecuteRead() 执行查询,返回多行结果
Console.WriteLine(cmd.ExecuteScalar().ToString());
Console.ReadKey();
//暂时关闭连接数据库通道,可以通过open()打开
conn.Close();
//表示当前对象可以被回收
//conn.Dispose();
//清空连接池,一般不用
//SqlConnection.ClearAllPools();
//SqlConnection.ClearPool(conn);*/
#endregion
#region 用DataRead的对象来获得多条数据
/*
SqlCommand com = conn.CreateCommand();//申明com并设置com的打开通道为conn
com.CommandText = "select * from student";
//com.Connection = conn;
//conn.CreateCommand();//指定conn为command连接通道
conn.Open();//打开conn连接通道//多次打开要报错,多次关闭不会报错
//注 SqlDataReader仅有一个构造函数,不能new
SqlDataReader dr = com.ExecuteReader();//申明DataRead对象来获取数据
if (dr.HasRows)//判断dr的HasRows知道结果集有没有数据
{
while (dr.Read())//Read方法让读取器向前进一行,并且把这一行的数据装到当前对象了
{
//推荐用下标的方式,字段/字段别名的方式最后还是调用的下标的方式
Console.WriteLine(dr[0]);//可以通过dr[字段/字段的别名]来获取该字段/字段的别名的值
//dr.Get
}
}
conn.Close();//在执行完毕后关闭连接通道,减少内存资源占用
dr.Close();*/
#endregion
#region 用参数登录避免SQL注入漏洞攻击
/*string name= Console.ReadLine();
string paw=Console.ReadLine();
SqlCommand cmd = new SqlCommand("select count(id) from Student where Name=@ass and pwd=@add ");
//第一种写法
SqlParameter sp = new SqlParameter("@ass", name);
SqlParameter sp1 = new SqlParameter("@add", paw);
cmd.Parameters.Add(sp);
cmd.Parameters.Add(sp1);
//第二种写法 普通登录项目必须第二种
//特殊情况下会报错
cmd.Parameters.Add(new SqlParameter("@ass", name));
cmd.Parameters.Add(new SqlParameter("@add", paw));
//第三种写法
SqlParameter[] spa = new SqlParameter[]{
new SqlParameter("@ass", name),
new SqlParameter("@add", paw)
};
cmd.Parameters.AddRange(spa);
//第四种写法
cmd.Parameters.AddWithValue("@ass", name);
cmd.Parameters.AddWithValue("@add", paw);
//第五种写法 大型项目必须用 参数可以为输出参数
SqlParameter spm = new SqlParameter("@ass",SqlDbType.NVarChar);//变量类型需与SQL里的该参数赋值的参数一致
SqlParameter spm1 = new SqlParameter("@add", SqlDbType.Char);
spm.Value = name;
spm1.Value = paw;
cmd.Parameters.Add(spm);
cmd.Parameters.Add(spm1);*/
#endregion
#region 用DataAdapter获取多条数据
SqlDataAdapter adapter = new SqlDataAdapter("select *from student",conn);//声明对象,并设置用conn通道打开数据库
//可以不用手动打开与关闭连接通道
DataSet ds = new DataSet();//声明数据临时存放的空间
adapter.Fill(ds);//将数据存放到da对象中
#endregion
Console.ReadKey();
}
}
}
----------------------
ASP.Net+Unity开发
、.
Net培训
、期待与您交流! ----------------------
详细请查看: http://edu.youkuaiyun.com