A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 赵威 于 2013-4-29 08:59 编辑

我想要做一个注册,但是代码一运行就告诉有错误,求高手解答?

namespace accessshiyan
{
    public partial class zhuce : Form
    {
        public zhuce()
        {
            InitializeComponent();
        }

        private void zhuce_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string oledb1 = string.Format("select count(*) from admin where yhm='{0}' ", txtzh.Text);
            OleDbCommand command1 = new OleDbCommand(oledb1, lianjie.connection);
            lianjie.connection.Open();
            int count = (int)command1.ExecuteScalar();
            if (count == 1)
            {
                MessageBox.Show("账号已被注册");
                lianjie.connection.Close();
            }
            else
            {

                string sex = rdbn.Checked ? rdbn.Text : rdbnv.Text;
                if ((txtzh.Text != "") && (txtmm.Text != "") && (txtqrmm.Text != ""))
                {
                    if (txtmm.Text == txtqrmm.Text)
                    {
                        string oledb = string.Format("insert into admin (yhm,mm,) values ('{0}','{1}')", txtzh.Text, txtmm.Text);
                        string oledb2 = string.Format("insert into yhxx (xm,sfz,zhuzhi,youxiang,dianhua,qq,chushengriqi,xingbie) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',)", txtxm.Text, txtsfz.Text, txtjg.Text, txtyj.Text, txtlxfs.Text, txtqq.Text, txtcsrq.Text, sex);

                        try
                        {
                            OleDbCommand command = new OleDbCommand(oledb, lianjie.connection);
                            OleDbCommand command2 = new OleDbCommand(oledb2, lianjie.connection);
                            int result = command.ExecuteNonQuery();
                            int result2 = command2.ExecuteNonQuery();
                            if (result != 1 && result2!=1)
                            {
                                MessageBox.Show("注册失败");
                            }
                            else
                            {
                                MessageBox.Show("注册成功");
                            }
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("操作数据库错误", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);

                        }
                        finally
                        {
                            lianjie.connection.Close();
                        }
                    }
                }
            }

        }
    }
}
检查错误的时候,这里没有被执行,但看着没有错误啊 ?
                            int result2 = command2.ExecuteNonQuery();
                            if (result != 1 && result2!=1)
                            {
                                MessageBox.Show("注册失败");
                            }
                            else
                            {
                                MessageBox.Show("注册成功");
                            }
求高手解答

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

5 个回复

正序浏览
王杨武 发表于 2013-4-28 20:36
int result = command.ExecuteNonQuery();   你最好看一下.这句代码的执行情况.应该是这个语句执行出现了 ...

解决了,下面写错了点东西,多谢
回复 使用道具 举报
1、检查一下sql语句: 我看你构造sql语句的values()里都用单引号包起来了,你确定都是字符串?
2、关于connection和command:
OleDbCommand command = new OleDbCommand(oledb, lianjie.connection);
OleDbCommand command2 = new OleDbCommand(oledb2, lianjie.connection);
int result = command.ExecuteNonQuery();
int result2 = command2.ExecuteNonQuery();
对于同一个connection,你先后设置了两个command,然后才去执行,这样没问题吗?

我也不太明白
回复 使用道具 举报
  int result = command.ExecuteNonQuery();   你最好看一下.这句代码的执行情况.应该是这个语句执行出现了问题.菜导致了下面的语句不执行.
  你看看SQL 语句是不是有问题.


谢谢.ALian为您解答.
回复 使用道具 举报
HM邱刚权 发表于 2013-4-28 08:49
你发这种贴的时候 最好带上点注释!那样更简单给别人看!

哦哦,这就是今早起来冷不丁地想做这么个东西,所以写的匆忙,也就没去加注释,没想到会遇到问题,下回注意。
回复 使用道具 举报
你发这种贴的时候 最好带上点注释!那样更简单给别人看!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马