二者区别 详细点初学者
解决方案 »
- 求:算法
- 菜鸟求助:关于combox的动态加载以及一条select语句
- System.NullReferenceException: 未将对象引用设置到对象的实例
- 寻找朋友
- c#中数据绑定的问题
- xslt转换xml的问题!!!
- C#能在运行的时候动态添加文件到资源中么?
- 各位高手帮帮忙,一个关于连接DBF数据库的问题!!!
- ###关于System.Windows.Forms.PrintPreviewDialog的使用中出现的问题###UP也有分
- 在VS中设计水晶报表时,如何才能见到“预览”选项卡
- 如何使动态添加的表格中含有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;
} }