求一个C#对SQL2005增删改查的实例代码 20
应该有很多种方法,要求最简单的一种。或者高手帮我解析一下下面的代码,以下的代码我主要是不明白哪些是可变名词,如:数据库名、表名、字段、控件名,别的到好说固定的复制进就可以...
应该有很多种方法,要求最简单的一种。
或者高手帮我解析一下下面的代码,以下的代码我主要是不明白哪些是可变名词,如:数据库名、表名、字段、控件名,别的到好说固定的复制进就可以。
——————————————————————————————————————————————————————————————————————————
db1.mdb 是库名吗?a和b是什么,SP1,SP2是什么,T1是表名吗?name,pwd?
string path = Application.StartupPath + "\\db1.mdb"; OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + path + ";Persist Security Info=False");//创建连接对象,;连接字符串
con.Open(); //连接数据库
增 :
string sql = "insert into t1(name,pwd) values (@a,@b)";
ITPUB个人空间:
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, ole);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
删:
string sql = " delete from t1 where name = @a";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbCommand com = new OleDbCommand(sql, ole);
com.Parameters.Add(p1);
com.ExecuteNonQuery();
改:
string sql = " update t1 set pwd = @a where name = @b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text); OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text); OleDbCommand com = new OleDbCommand(sql, ole); com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
查:
string sql = "select * from t2 whereName=@aandPwd=@b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
OleDbDataReader dr = com.ExecuteReader();// 与前三者不同
if (dr.Read())
MessageBox.Show("登录通过!");
}
还是不太明白,a,b,p1,p2的用法 展开
或者高手帮我解析一下下面的代码,以下的代码我主要是不明白哪些是可变名词,如:数据库名、表名、字段、控件名,别的到好说固定的复制进就可以。
——————————————————————————————————————————————————————————————————————————
db1.mdb 是库名吗?a和b是什么,SP1,SP2是什么,T1是表名吗?name,pwd?
string path = Application.StartupPath + "\\db1.mdb"; OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + path + ";Persist Security Info=False");//创建连接对象,;连接字符串
con.Open(); //连接数据库
增 :
string sql = "insert into t1(name,pwd) values (@a,@b)";
ITPUB个人空间:
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, ole);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
删:
string sql = " delete from t1 where name = @a";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbCommand com = new OleDbCommand(sql, ole);
com.Parameters.Add(p1);
com.ExecuteNonQuery();
改:
string sql = " update t1 set pwd = @a where name = @b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text); OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text); OleDbCommand com = new OleDbCommand(sql, ole); com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
查:
string sql = "select * from t2 whereName=@aandPwd=@b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
OleDbDataReader dr = com.ExecuteReader();// 与前三者不同
if (dr.Read())
MessageBox.Show("登录通过!");
}
还是不太明白,a,b,p1,p2的用法 展开
展开全部
解析一下下面的代码,数据库名、表名、字段、控件名。
/*
下面这句是 取到放在本项目下的数据文件db1.mdb的路径
*/
string path = Application.StartupPath + "\\db1.mdb";
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + path + ";Persist Security Info=False");//创建连接对象,;连接字符串
con.Open(); //连接数据库
增 :
/*
下面这句是 向名为t1的表插入数据,name,pwd都是列名,@a, @b是参数名
*/
string sql = "insert into t1(name,pwd) values (@a,@b)";
/*
下面这两句是实例化两个参数对象p1, p2,用来向sql语句中添加参数@a,@b
并通过这两个参数对象给参数@a,@b赋值,参数值可变
*/
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
删:
/*
下面这句从激行者表t1中删除明薯name为@a的行,带汪指定@a参数的值为textBox1中输入的值
*/
string sql = " delete from t1 where name = @a";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.ExecuteNonQuery();
改:
/*
将表t1中的name列为@b的行的 pwd列值更新为@a的值
*/
string sql = " update t1 set pwd = @a where name = @b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text); OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text); OleDbCommand com = new OleDbCommand(sql, ole); com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
查:
/*
从t2表中查找Name为@a值,Pwd为@b值的记录,
*/
string sql = "select * from t2 where Name=@a and Pwd=@b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
OleDbDataReader dr = com.ExecuteReader();// 与前三者不同
/*
记录存在,用户已注册过,可以登录。
*/
if (dr.Read())
MessageBox.Show("登录通过!");
}
看看MSDN类库吧:http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbparameter.aspx
/*
下面这句是 取到放在本项目下的数据文件db1.mdb的路径
*/
string path = Application.StartupPath + "\\db1.mdb";
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + path + ";Persist Security Info=False");//创建连接对象,;连接字符串
con.Open(); //连接数据库
增 :
/*
下面这句是 向名为t1的表插入数据,name,pwd都是列名,@a, @b是参数名
*/
string sql = "insert into t1(name,pwd) values (@a,@b)";
/*
下面这两句是实例化两个参数对象p1, p2,用来向sql语句中添加参数@a,@b
并通过这两个参数对象给参数@a,@b赋值,参数值可变
*/
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
删:
/*
下面这句从激行者表t1中删除明薯name为@a的行,带汪指定@a参数的值为textBox1中输入的值
*/
string sql = " delete from t1 where name = @a";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.ExecuteNonQuery();
改:
/*
将表t1中的name列为@b的行的 pwd列值更新为@a的值
*/
string sql = " update t1 set pwd = @a where name = @b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text); OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text); OleDbCommand com = new OleDbCommand(sql, ole); com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.ExecuteNonQuery();
查:
/*
从t2表中查找Name为@a值,Pwd为@b值的记录,
*/
string sql = "select * from t2 where Name=@a and Pwd=@b";
OleDbParameter p1 = new OleDbParameter("@a", textBox1.Text);
OleDbParameter p2 = new OleDbParameter("@b", textBox2.Text);
OleDbCommand com = new OleDbCommand(sql, con);
com.Parameters.Add(p1);
com.Parameters.Add(p2);
OleDbDataReader dr = com.ExecuteReader();// 与前三者不同
/*
记录存在,用户已注册过,可以登录。
*/
if (dr.Read())
MessageBox.Show("登录通过!");
}
看看MSDN类库吧:http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbparameter.aspx
展开全部
db1.mdb是库名,mdb的后缀应该是ACCESS的数据库吧,而不是SQL 2005的
a和b是要插入到数据库里的数据,没看到你说的SP1,SP2,没仔细看。
数据库操作:
一般用到ExecuteNonQuery() ExecuteQuery()这两个方法,都是SqlCommand类里,这两个都是执行单条SQL语句的,前者执行无返回数据,如果要返回只是返回影响的行数,比如你删除了轿闭仿两条记录,他就返回2,也可以不接收他返回的数据,后者态并ExecuteQuery()是有返回,一般是用在select语句,而ExecuteNonQuery()是用在inert update delete这三个
无论闭纤是增,删,改 他们都只需要一个方法而已,不用一种就要写一次,你可以定义个方法,然后传SQL语句过去就可以了
public bool DataOper(string sqlString)
{
///使用using是为了防止忘记关闭连接
using(SqlConnection conn = 连接数据库字符串)
{
conn.Open();
SqlCommand cmd = new SqlCommand(sqlString,conn);
try
{
cmd.ExecuteNonQuery();
return true;
}
catch(SqlException e)
{
MessageBox.Show(e.ToString());
return false;
}
finally
{
conn.Close();
}
}
有时需要执行的数据是一张表的,这时候应该用SqlDateAdatper.Fill()慢慢来
a和b是要插入到数据库里的数据,没看到你说的SP1,SP2,没仔细看。
数据库操作:
一般用到ExecuteNonQuery() ExecuteQuery()这两个方法,都是SqlCommand类里,这两个都是执行单条SQL语句的,前者执行无返回数据,如果要返回只是返回影响的行数,比如你删除了轿闭仿两条记录,他就返回2,也可以不接收他返回的数据,后者态并ExecuteQuery()是有返回,一般是用在select语句,而ExecuteNonQuery()是用在inert update delete这三个
无论闭纤是增,删,改 他们都只需要一个方法而已,不用一种就要写一次,你可以定义个方法,然后传SQL语句过去就可以了
public bool DataOper(string sqlString)
{
///使用using是为了防止忘记关闭连接
using(SqlConnection conn = 连接数据库字符串)
{
conn.Open();
SqlCommand cmd = new SqlCommand(sqlString,conn);
try
{
cmd.ExecuteNonQuery();
return true;
}
catch(SqlException e)
{
MessageBox.Show(e.ToString());
return false;
}
finally
{
conn.Close();
}
}
有时需要执行的数据是一张表的,这时候应该用SqlDateAdatper.Fill()慢慢来
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
介绍你看看微软发布的“SqlHelper.cs”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询