尝试从visual c#program更新oracle时出现"无效操作.连接已关闭"错误

Ale*_*ler 3 c# oracle

我有一个可视化的c#程序正在运行,但每当我尝试更新时,我都会收到连接错误.这是我的代码的样子:

private void Update()
{
    try
    {
        String OneMachineScheduleOrder = "";
        String series = "";
        String oven = "";
        String battery = "";
        int x,y;

        var sortedTextboxes = panel1.Controls
                .OfType<TextBox>() // get all textboxes controls
                .OrderBy(ctrl => ctrl.TabIndex); // order by TabIndex
        foreach (TextBox txt in sortedTextboxes)
        {
            //Console.WriteLine(Convert.ToInt32(txt.TabIndex/2+1) + ": " + txt.Text);
            OneMachineScheduleOrder = (txt.TabIndex / 2 + 1).ToString();
            series = txt.Text.Substring(0, 1);
            oven = txt.Text.Substring(1, 2);
            battery = txt.Text.Substring(4).Trim();
            if (Char.IsLetter(series[0]) && int.TryParse(oven, out y) && int.TryParse(battery, out x) && txt.Text[3].Equals('/'))
            {
                using (OracleConnection con = new OracleConnection(connectString))
                {
                    OracleCommand cmd = connection.CreateCommand();
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "update Oven_Master set SERIES = '" + series + "', OVEN = '" + oven + "', BATTERY = '" + battery + "' where ONE_MACHINE_SCHEDULE_ORDER = '" + OneMachineScheduleOrder + "'";
                    cmd.Connection = con;
                    cmd.ExecuteNonQuery();
                    Console.WriteLine(cmd.CommandText);
                    con.Close();
                }
            }
            else { MessageBox.Show("Number: " + OneMachineScheduleOrder + " Is Invalid!"); }                           
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
    finally
    {
        connection.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,我在表单上有一堆文本框,这些文本框以格式填写A01/01.我正在将文本框排序为变量,然后对于每个文本框,我解析出相关数据(OneMachineScheduleOrder,系列,烤箱和电池).如果数据格式正确,我使用带有全局连接字符串的oracleConnection(并且我使用调试器检查它是否具有正确的值)来创建执行和OracleCommand.否则,提醒用户数据格式错误.

但是,我收到连接打开的错误.我试图把一个断点上线,和我理解的con = OracleConnection,这样我就可以看到有一个连接.不知道从哪里开始.

Joh*_*las 9

尝试调用connection.Open在执行命令之前

(是的,我知道大声笑)

  • 当您看到此答案并意识到您之前已经对它进行了投票并完全忘记的那一刻。(双面掌) (3认同)
  • 天啊。我之前也遇到过同样的错误,所以我将其删除以查看是否有影响,然后我更改了一些内容,现在显然它可以工作了。谢谢! (2认同)
  • 我希望你能面对; p (2认同)