日期:2014-05-18  浏览次数:20876 次

sqlcommand sqladapter的属性及用法
二者区别 详细点初学者

------解决方案--------------------
sqlcommand : 用commandText 指定 它要执行的一个 Transact-SQL 语句或存储过程。
单独用sqlcommand 一般用在连接模式下,需要显式的打开和关闭数据库连接。
connection属性用来设置数据库联接对象,

一般用 如下几个方法:
ExecuteReader :返回一个只读向前的dataReader对象。
ExecuteNonQuery 
执行 INSERT、DELETE、UPDATE 及 SET 语句等命令。 
ExecuteScalar 
从数据库中检索单个值(例如一个聚合值)。 
 
sqladapter : 
一般用在非连接模式下,不需要显式的打开和关闭数据库连接。
设置其insertcommand,Updatecommand,selectcommand等等属性,这些属性都是sqlcommand 类型的。
用selectcommand的结果填充DataSet,然后能对DataSet进行修改,

SqlDataAdapter 是 DataSet 和 SQLServer之间的桥梁。

------解决方案--------------------
if (txtName.Text.Equals(""))
{
MessageBox.Show("用户名不能为空!","系统提示",MessageBoxButtons.OK);
txtName.Focus();
}
else if (txtPassword.Text.Equals(""))
{
MessageBox.Show("密码不能为空!", "系统提示",MessageBoxButtons.OK);
txtPassword.Focus();
}
else
{

string sql = @"select count(*) from [user] where name='" + txtName.Text.Trim() + "' and password='" + txtPassword.Text.Trim() + "'";
SqlConnection con = new SqlConnection(@"Data Source=owen\SQL2008;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;Password=sa");
SqlCommand com = new SqlCommand(sql, con);
con.Open();
int i = (int)com.ExecuteScalar();
con.Close();
if (i != 0)
{
MessageBox.Show("登陆成功!","系统提示",MessageBoxButtons.OK);
}
else
{
MessageBox.Show("登陆不成功!","系统提示",MessageBoxButtons.OK);
txtName.Focus();
}