C# 使用c在oracle上处理Sql错误#

C# 使用c在oracle上处理Sql错误#,c#,.net,sql,oracle,visual-studio,C#,.net,Sql,Oracle,Visual Studio,当我在“register(textbox)”上键入文本时,它会显示错误,因为该表的类型是“number”,所以我需要处理类似“it must me number”这样的消息的错误 我需要这样的必填字段消息“*是必填字段,必须插入数据” 事实上,我不知道如何使用“例外”,我只是尝试 private void button1_Click(object sender, EventArgs e) { conn = new OracleConnection(ora

当我在“register(textbox)”上键入文本时,它会显示错误,因为该表的类型是“number”,所以我需要处理类似“it must me number”这样的消息的错误

我需要这样的必填字段消息“*是必填字段,必须插入数据”

事实上,我不知道如何使用“例外”,我只是尝试

 private void button1_Click(object sender, EventArgs e)
        {
            conn = new OracleConnection(oradb);

            conn.Open();
            cmd = new OracleCommand();


            cmd.Connection = conn;


           try
            {
                string sql = "INSERT INTO SCHOOL (STUDENTNAME, REGISTER,) VALUES (:STUDENTNAME, :REGISTER)";

                cmd = new OracleCommand(sql, conn);
                cmd.Parameters.Add(new OracleParameter(":STUDENTNAME", textBox1.Text));
                cmd.Parameters.Add(new OracleParameter(":REGISTER", textBox2.Text));

                cmd.ExecuteNonQuery();
                MessageBox.Show("Done");
                conn.Close();

            }
            catch (Exception ex) //that ex shows me error
            {

                MessageBox.Show("Not inserted!");
            }
            finally
            {
                conn.dispose(); //close connection
            }

在寄存器后删除逗号

string sql=“插入学校(STUDENTNAME,REGISTER检查此)值(:STUDENTNAME,:REGISTER)

更改您的

string sql = "INSERT INTO SCHOOL (STUDENTNAME, REGISTER,) VALUES (:STUDENTNAME, :REGISTER)";
                                                      ^^^


您的
REGISTER
列后面有一个额外的逗号。

谢谢,但我没有错误,我只是想知道,当用户输入空白类型或其他内容时,如何处理错误消息。请检查cmd.execute在这种情况下会引发的异常。我的意思是,例如:当有人插入空白数据时,它必须这样显示信息“至少需要3个符号,您只需插入不带数字的文本" ... 在这种情况下,处理消息时会出现什么错误???是的,这只是我的错误。。。这是几个桌子和选项,然后我做了很短,更明确的要求。。。阅读第一篇postalways,在将SQL语句植入代码之前,请先试用它。此外,硬编码代码中的SQL语句不是一个好主意,将它们重构为要读取的配置。可以更清楚地指定吗?
string sql = "INSERT INTO SCHOOL (STUDENTNAME, REGISTER) VALUES (:STUDENTNAME, :REGISTER)";