【发布时间】:2017-08-23 16:47:19
【问题描述】:
好的,我对这一切都很陌生,正在努力在 Windows 窗体应用程序中插入 TextBox 值(用户输入)并将这些值存储到 Oracle 数据库表中。
C# 代码:
string oradb = "DATA SOURCE = larry.uopnet.plymouth.ac.uk:1521/orcl.fost.plymouth.ac.uk;PERSIST SECURITY INFO = True;USER ID = xxxxxxxxxx;password = xxxxxxxxx";
OracleConnection con = new OracleConnection(oradb);
con.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "Insert into USER.Client VALUES (txtBoxClientName, txtBoxClientCity, txtBoxClientCountry, txtBoxClientNumber, txtBoxClientURL, comboClientStatus)";
int rowsUpdated = cmd.ExecuteNonQuery();
if (rowsUpdated == 0)
MessageBox.Show("Please fill in required fields");
else
MessageBox.Show("Client has been added");
con.Dispose();
此错误出现在 int rowsUpdated = cmd.ExecuteNonQuery(); 行 - Oracle.DataAccess.dll 中出现 Oracle.DataAccess.Client.OracleException 类型的未处理异常
Oracle 中的触发代码:
create or replace TRIGGER trg_client_ClientID
BEFORE INSERT ON client FOR EACH ROW
BEGIN
:NEW.ClientID := seq_client_ClientID.nextval;
END;
【问题讨论】:
-
先检查你的连接字符串,然后我还建议你在那里提供有关
OracleException的错误详细信息、内部异常和堆栈跟踪。 -
好吧,我已经玩了一些,但还是没有运气。我 100% 确定我的连接字符串是正确的(如果我更改它,则会在 con.Open 处出现错误)它是我的 CommandText 或我的异常捕获。