连接数据库无外乎就这几个步骤:
(1)开头加上sql的命名空间;
(2)用Connection对象连接数据库
(3)利用建立好的连接,通过Connection、Command对象执行SQL命令
(4)使用完毕后关闭连接释放对象。
具体点的例子
using是因为ADO.NET中的连接等资源都实现了IDisposable接口,即使用完后都需要释放,最简单的方法是使用using
1.引入命名空间 using System.Data.SqlClient;
2.如果说在winform中连接数据库,需要加入老师所讲的一段神奇代码,具体的解释我也大概看了一下,但还是有点不明白。
代码如下:
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Releasel\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
3.用Connection对象连接数据库
using (SqlConnection conn = new SqlConnection(连接字符串))
{
conn.Open();
}
4.利用建立好的连接,通过Connection、Command对象执行SQL命令
using (SqlCommand cmd = createcommand(conn,查询语句))
{
}
5.注入式查询漏洞:
例如:str= "select * from table where UserName='"+name+"' and Password='"+password+"'";
假如用户给password赋值为'1' or '1'='1'
cmd.Parameters.Add(new SqlParameter("username", name));
cmd.Parameters.Add(new SqlParameter("password", password));
最后,几个command方法
ExecuteNonQuery 执行语句并返回受影响的行数。
ExecuteReader ExecuteReader一般用来实例化datareader,比如command的ExecuteReader方法,返回的结果可以直接赋给dr做数据源。
ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------