c#数据库求救!!各位大侠帮帮忙 如何将c#数据库某一列的每个值(例如:姓名)与一个在文本框里输入的内容比较??各位大仙能不能帮帮忙啊!! 小弟在此谢了!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 caozhy 于 2011-05-13 20:51:27 编辑 sql = "select * from table where 姓名 = '" + textBox1.Text + "'";if (cmd.ExecuteNoQuery() > 0) ... 那你还是这样试试吧,你得到一个datareader ,一个一个判断就行了 cmd.ExecuteNoQuery()只能返回更新(查,删,改)所影响的行数 将 cmd定义为OleDbCommand cmd = new OleDbCommand();这样写行不?? sql = "select * from table where 姓名 = '" + textBox1.Text + "'"; //textbox.text是要比较的字段 你数据库是Access?SQL Server?Oracle? int n = this.dataGridView1.CurrentCell.RowIndex;String st1,st2,st3; st1 = this.dataGridView1[0, n].Value.ToString(); st2= this.dataGridView1[1, n].Value.ToString(); st3 = this.dataGridView1[2, n].Value.ToString();楼主试试这个st1是你点击的当前的行的第一列的值。后面类推。至于怎么比较你应该会吧。。那都是很基础的了。 哦 前提是 你先弄个datagirdview控件。。如果用你的还是直接select查询比较好。 sql = "select 姓名 from table where 姓名 = '" + textBox1.Text + "'";//姓名为表中的字段名if (cmd.ExecuteNoQuery() > 0){ } 提供个Access的public void Button1_Click(object sender,EventArgs e){ string s = this.TextBox1.Text.Trim(); DataSet ds = getAccessDBData(); foreach(DataRowView drv in ds.Tables[0].DefaultView) { //取出studentName字段的每个值与文本框的值进行比较 if(drv["studentName"].ToString()==s) { //如果相同,进行相关操作 } else { //不相同时的操作 } }} public DataSet getAccessDBData() { DataSet ds; //Access 2007数据库 string strConnection = "Provider = Microsoft.ACE.OLEDB.12.0;"; //C#读取Excel的连接字符串 strConnection += @"Data Source = E:\Access\AccessDB.accdb "; //指定数据库在硬盘的物理位置 using (OleDbConnection objConnection = new OleDbConnection(strConnection)) //用using替代objConnection.Close() { objConnection.Open(); //打开连接 OleDbDataAdapter da = new OleDbDataAdapter("select studentName from Student", objConnection); //新建适配器OleDbCommandBuilder cmd = new OleDbCommandBuilder(da); //新建命令执行器 ds = new DataSet(); //新建DataSet da.Fill(ds, "student"); //数据填充 conn.Close(); //连接关闭 } return ds; } 现在发现很多人对ado.net不熟悉了这个是基本啊。 SqlCommand cmd=new SqlCommand(); Devexpress控件,Gridview一列为DateEdit,想要动态使其格式为"yyyy-MM-dd"或"yyyy-MM-dd HH:mm" 求一算法 Buffer.BlockCopy()的用法 PictrueBox 控件颜色问题 关于richBox的问题??(winform) 显示目录下的文件及文件夹 c#写程序连接msn dataGridView显示日期不完整 C#创建依赖项属性一直报错,说无法通过嵌套类型来访问外部类型的非静态成员 刚才的帖子结的太快:) 实现插入不同类型的数有问 【字符串处理】求一高效实现方式
...
String st1,st2,st3;
st1 = this.dataGridView1[0, n].Value.ToString();
st2= this.dataGridView1[1, n].Value.ToString();
st3 = this.dataGridView1[2, n].Value.ToString();楼主试试这个st1是你点击的当前的行的第一列的值。
后面类推。至于怎么比较你应该会吧。。那都是很基础的了。
if (cmd.ExecuteNoQuery() > 0)
{
}
{
string s = this.TextBox1.Text.Trim();
DataSet ds = getAccessDBData();
foreach(DataRowView drv in ds.Tables[0].DefaultView)
{
//取出studentName字段的每个值与文本框的值进行比较
if(drv["studentName"].ToString()==s)
{
//如果相同,进行相关操作
}
else
{
//不相同时的操作
}
}
} public DataSet getAccessDBData()
{
DataSet ds;
//Access 2007数据库
string strConnection = "Provider = Microsoft.ACE.OLEDB.12.0;"; //C#读取Excel的连接字符串
strConnection += @"Data Source = E:\Access\AccessDB.accdb "; //指定数据库在硬盘的物理位置
using (OleDbConnection objConnection = new OleDbConnection(strConnection)) //用using替代objConnection.Close()
{
objConnection.Open(); //打开连接
OleDbDataAdapter da = new OleDbDataAdapter("select studentName from Student", objConnection); //新建适配器
OleDbCommandBuilder cmd = new OleDbCommandBuilder(da); //新建命令执行器
ds = new DataSet(); //新建DataSet
da.Fill(ds, "student"); //数据填充
conn.Close(); //连接关闭
}
return ds;
}
这个是基本啊。