datagridview判断下图 邮箱中的值是否存在SQL中,在判断列输出是否

输一个 判断一次,如果 否 messageboxshow"不存在”
图片说明

要源码!

不能实现的话 全部输完判断也可以。。。图片说明

添加一个按钮,事件如下面的就行了,mssql自己改下SQL对应的对象


  private void button2_Click(object sender, EventArgs e)
        {

            if (dgv1.Rows.Count > 0)
            {
                //如果不是Access数据库自己驱动和对象,如System.Data.SqlClient.SqlConnection。Access的话自己注意修改access文件路径
                OleDbConnection cn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0;data source=E:\文件\C#\dgdemo\bin\Debug\data.mdb");
                //SqlConnection cn = new SqlConnection("mssqlserver驱动字符串");//驱动格式如: server=.;database=数据库名;uid=用户名;pwd=用户密码
                cn.Open();
                OleDbCommand cmd = new OleDbCommand();
                //SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;
                string value = "";
                foreach (DataGridViewRow dr in dgv1.Rows)
                    if (dr.Cells[2].Value != null&&(value=dr.Cells[2].Value.ToString().Trim())!="")
                    {
                        cmd.CommandText = "select count(1) from [userinfo] where [email]='" + SQLReplace(value) + "'";
                        if (cmd.ExecuteScalar().ToString() != "0")
                        {
                            MessageBox.Show("第" + (dr.Index + 1) + "行Email地址“" + value + "”数据库中已经存在!");
                        }
                    }
                cn.Close();
                dgv1.Rows.Clear();
            }
            else MessageBox.Show("没有输入数据!");
        }

datagridview添加CellEndEdit事件,判断下email是否存在数据库中



        private void dgv1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 2)//如果你的邮箱列不在第三列修改这里,下标从0开始
            {
                DataGridViewCell cur = dgv1.CurrentCell;
                if (cur.Value == null) return;
                string value = cur.Value.ToString().Trim();
                if (value != "")//email值不为空判断数据库中是否存在此email
                {
                    OleDbConnection cn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0;data source=E:\文件\C#\dgdemo\bin\Debug\data.mdb");
                    cn.Open();
                    OleDbCommand cmd = new OleDbCommand("select count(1) from [userinfo] where [email]='" + SQLReplace(value) + "'", cn);

                    bool ex = cmd.ExecuteScalar().ToString() != "0";
                    cn.Close();

                    if (ex)
                    {
                        MessageBox.Show("Email地址“" + value + "”已经存在!");
                        cur.Value = "";//清空值
                        dgv1.CurrentCell = cur;
                        dgv1.BeginEdit(true);
                    }
                }
            }
        }
 private void button2_Click(object sender, EventArgs e)
        {

            if (dgv1.Rows.Count > 0)
            {
                //如果不是Access数据库自己驱动和对象,如System.Data.SqlClient.SqlConnection。Access的话自己注意修改access文件路径
                OleDbConnection cn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0;data source=E:\文件\C#\dgdemo\bin\Debug\data.mdb");
                //SqlConnection cn = new SqlConnection("mssqlserver驱动字符串");//驱动格式如: server=.;database=数据库名;uid=用户名;pwd=用户密码
                cn.Open();
                OleDbCommand cmd = new OleDbCommand();
                //SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;
                string value = "";
                foreach (DataGridViewRow dr in dgv1.Rows)
                    if (dr.Cells[2].Value != null&&(value=dr.Cells[2].Value.ToString().Trim())!="")
                    {
                        cmd.CommandText = "select count(1) from [userinfo] where [email]='" + SQLReplace(value) + "'";
                        dr.Cells[3].Value = cmd.ExecuteScalar().ToString() != "0";
                    }
                cn.Close();
            }
            else MessageBox.Show("没有输入数据!");
        }

图片说明