sqlcommand sqladapter的属性及用法 二者区别 详细点初学者 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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(); } SqlConnection con = new SqlConnection(@"Data Source=owen\sql2008;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;password=sa"); SqlDataAdapter da = new SqlDataAdapter("select * from StudentClass", con); DataSet ds = new DataSet(); con.Open(); da.Fill(ds, "StudentClass"); con.Close(); comboBox1.DisplayMember = "id"; comboBox1.DataSource = ds.Tables["StudentClass"];将数据判定到comboBox1显示 listView1.Items.Clear(); listView1.Columns.Clear(); ColumnHeader hea1 = new ColumnHeader(); ColumnHeader hea2 = new ColumnHeader(); ColumnHeader hea3 = new ColumnHeader(); hea1.Text = "编号"; hea2.Text = "成绩"; hea3.Text = "成绩"; this.listView1.Columns.AddRange(new ColumnHeader[] { hea1, hea2, hea3 }); con = new SqlConnection(@"Data Source=owen\SQL2008;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;password=sa"); com = new SqlCommand("select * from StudentClass", con); con.Open(); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { ListViewItem lv = new ListViewItem(); lv.Text = dr[1].ToString(); for (int i = 2; i < 4; i++) { lv.SubItems.Add(new ListViewItem.ListViewSubItem().Text = dr[i].ToString()); } listView1.Items.Add(lv); } dr.Close(); con.Close();绑定到listView里面显示数据 SqlDataAdapter类用于填充DataSet并更新SQL Server数据库的一组数据命令和一个数据库连接 DataSet对象是支持ADO.NET的断开式、分布式数据方案的核心对象,是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。它用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet表示相关表、约束和表间关系在内的整个数据集。 数据适配器SqlDataAdapter对象,数据集DataSet对象存在于内存中 通常是将数据适配器对象的数据填充到存在数据集对象中 SqlDataAdapter da; //声明数据适配器对象 DataSet ds; //声明数据集对象 SqlCommand com; //执行Transact-SQL语句 string connectionstring=@"server=.\SQLEXPRESS;database=GoodsManage;integrated security=true"; SqlConnection con; //声明链接对象 da = new SqlDataAdapter(cmdtxt, GetCon()); ds = new DataSet(); da.Fill(ds); class sqlHelp { /*创建SqlConnection的对象con,并连接数据库*/ static string connStr = @"****"; static SqlConnection con = new SqlConnection(connStr); /*打开数据库连接类*/ static void OpenCon() { try { if (con.State == ConnectionState.Closed) //检查数据库连接是否为关闭状态 { con.Open(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /*关闭数据库连接类*/ static void Closecon() { try { if (con.State == ConnectionState.Open) //检查数据库是否为打开状态 { con.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /*建立用SqlCommand的ExecuteScalar方法查询的类*/ public static Object ScalSql(string sql) { SqlCommand comm = new SqlCommand(sql, con); OpenCon(); //调用打开数据库的方法 Object num = comm.ExecuteScalar(); //接受返回ExecuteScalar的值 Closecon(); //调用关闭数据库类 return num; } /*编写用SqlCommand的ExecuteReader方法查询单列多行数据*/ public static string[] ReadSql(string sql) { SqlCommand com = new SqlCommand(sql, con); OpenCon(); SqlDataReader dataRed = com.ExecuteReader(); string[] checkData = new string[100]; /*循环读取数据,并添加在checkData*/ while (dataRed.Read()) { string addInfor = Convert.ToString(dataRed[0]); for (int i = 0; i < checkData.Length; i++) { if (checkData[i] == null) { checkData[i] = addInfor; break; } } } dataRed.Close(); Closecon(); return checkData; } /*编写用SqlCommand的ExecuteNonQuery方法新增用户类*/ public static int AddNonQSql(string sql) { SqlCommand com = new SqlCommand(sql, con); OpenCon(); //打开数据库 int resultNum = com.ExecuteNonQuery(); //接受ExecuteNonQuery返回的值 Closecon(); //关闭数据库 return resultNum; } } sqlConnection sqlCommand SqlDataAdapter DataSet 这几个用起来不是很理解 【菜鸟求助】C# 操作ESC/POS指令示例(LPT) 关于多线程线程池的一些问题 求指点 这个 WEB 进度条问题出在哪儿? 存储过程 写在那里???? 如何判断两个图形之间的关系,比如是否相交? 关于写XML文件的问题!!跪求啊 asp1.1写的网页 中文乱码的问题 如何在以下情况下使用事务(Remoting)? 高分求checkbox的问题 什么保存wav、mp3等音频文件、急? 如何使动态添加的表格中含有tfoot,thead和tbody (100满分求助。。)能否不安装sql server2005也可以使用C#.net做的系统????
单独用sqlcommand 一般用在连接模式下,需要显式的打开和关闭数据库连接。
connection属性用来设置数据库联接对象,一般用 如下几个方法:
ExecuteReader :返回一个只读向前的dataReader对象。
ExecuteNonQuery
执行 INSERT、DELETE、UPDATE 及 SET 语句等命令。
ExecuteScalar
从数据库中检索单个值(例如一个聚合值)。
sqladapter :
一般用在非连接模式下,不需要显式的打开和关闭数据库连接。
设置其insertcommand,Updatecommand,selectcommand等等属性,这些属性都是sqlcommand 类型的。
用selectcommand的结果填充DataSet,然后能对DataSet进行修改,SqlDataAdapter 是 DataSet 和 SQLServer之间的桥梁。
{
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();
}
SqlConnection con = new SqlConnection(@"Data Source=owen\sql2008;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;password=sa");
SqlDataAdapter da = new SqlDataAdapter("select * from StudentClass", con);
DataSet ds = new DataSet();
con.Open();
da.Fill(ds, "StudentClass");
con.Close();
comboBox1.DisplayMember = "id";
comboBox1.DataSource = ds.Tables["StudentClass"];
将数据判定到comboBox1显示
listView1.Columns.Clear();
ColumnHeader hea1 = new ColumnHeader();
ColumnHeader hea2 = new ColumnHeader();
ColumnHeader hea3 = new ColumnHeader();
hea1.Text = "编号";
hea2.Text = "成绩";
hea3.Text = "成绩";
this.listView1.Columns.AddRange(new ColumnHeader[] { hea1, hea2, hea3 });
con = new SqlConnection(@"Data Source=owen\SQL2008;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;password=sa");
com = new SqlCommand("select * from StudentClass", con);
con.Open();
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
ListViewItem lv = new ListViewItem();
lv.Text = dr[1].ToString();
for (int i = 2; i < 4; i++)
{
lv.SubItems.Add(new ListViewItem.ListViewSubItem().Text = dr[i].ToString());
}
listView1.Items.Add(lv);
}
dr.Close();
con.Close();
绑定到listView里面显示数据
DataSet对象是支持ADO.NET的断开式、分布式数据方案的核心对象,是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。它用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet表示相关表、约束和表间关系在内的整个数据集。
数据适配器SqlDataAdapter对象,数据集DataSet对象存在于内存中
通常是将数据适配器对象的数据填充到存在数据集对象中 SqlDataAdapter da; //声明数据适配器对象
DataSet ds; //声明数据集对象
SqlCommand com; //执行Transact-SQL语句
string connectionstring=@"server=.\SQLEXPRESS;database=GoodsManage;integrated security=true";
SqlConnection con; //声明链接对象
da = new SqlDataAdapter(cmdtxt, GetCon());
ds = new DataSet();
da.Fill(ds);
{
/*创建SqlConnection的对象con,并连接数据库*/
static string connStr = @"****";
static SqlConnection con = new SqlConnection(connStr); /*打开数据库连接类*/
static void OpenCon()
{
try
{
if (con.State == ConnectionState.Closed)
//检查数据库连接是否为关闭状态
{
con.Open();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} /*关闭数据库连接类*/
static void Closecon()
{
try
{
if (con.State == ConnectionState.Open)
//检查数据库是否为打开状态
{
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} /*建立用SqlCommand的ExecuteScalar方法查询的类*/
public static Object ScalSql(string sql)
{
SqlCommand comm = new SqlCommand(sql, con);
OpenCon();
//调用打开数据库的方法
Object num = comm.ExecuteScalar();
//接受返回ExecuteScalar的值
Closecon();
//调用关闭数据库类
return num;
} /*编写用SqlCommand的ExecuteReader方法查询单列多行数据*/
public static string[] ReadSql(string sql)
{
SqlCommand com = new SqlCommand(sql, con);
OpenCon();
SqlDataReader dataRed = com.ExecuteReader();
string[] checkData = new string[100];
/*循环读取数据,并添加在checkData*/
while (dataRed.Read())
{
string addInfor = Convert.ToString(dataRed[0]);
for (int i = 0; i < checkData.Length; i++)
{
if (checkData[i] == null)
{
checkData[i] = addInfor;
break;
}
}
}
dataRed.Close();
Closecon();
return checkData;
} /*编写用SqlCommand的ExecuteNonQuery方法新增用户类*/
public static int AddNonQSql(string sql) {
SqlCommand com = new SqlCommand(sql, con);
OpenCon();
//打开数据库
int resultNum = com.ExecuteNonQuery();
//接受ExecuteNonQuery返回的值
Closecon();
//关闭数据库
return resultNum;
} }