C# 输出未显示在C中的文本框中#
我是C#新手,我已经将它与Oracle11g连接起来,并使用Visual Studio 2013作为工具。我试图显示查询返回到文本框的“名称”,但它既不显示错误消息,也不显示输出。请帮我解决这个问题。谢谢这是我的密码C# 输出未显示在C中的文本框中#,c#,oracle11g,C#,Oracle11g,我是C#新手,我已经将它与Oracle11g连接起来,并使用Visual Studio 2013作为工具。我试图显示查询返回到文本框的“名称”,但它既不显示错误消息,也不显示输出。请帮我解决这个问题。谢谢这是我的密码 private void button1_Click(object sender, EventArgs e) { try { string oradb = "Data Source=ORCL;User Id=hr; P
private void button1_Click(object sender, EventArgs e)
{
try
{
string oradb = "Data Source=ORCL;User Id=hr; Password=123;";
OracleConnection conn = new OracleConnection(oradb); // C#
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "select name from std where cgpa=2.82;";
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
textBox1.Text = dr.GetString(0);
conn.Dispose();
}
catch (Exception ex) { MessageBox.Show("\n"+ex); }
}
设置textBox1.Text=dr.GetString后(0);
它给了我附加的异常。数组索引从索引0开始,而不是从1开始。返回的字符串(如果有)位于 编写代码的更正确方法如下
private void button1_Click(object sender, EventArgs e)
{
try
{
string oradb = "Data Source=ORCL;User Id=hr; Password=123;";
// Use the using statements around disposable objects....
using(OracleConnection conn = new OracleConnection(oradb))
using(OracleCommand cmd = new OracleCommand())
{
conn.Open();
// These two parameters could be passed directly in the
// OracleCommand constructor....
cmd.Connection = conn;
cmd.CommandText = "select name from std where cgpa=2.82;";
// Again using statement around disposable objects
using(OracleDataReader dr = cmd.ExecuteReader())
{
// Check if you have a record or not
if(dr.Read())
textBox1.Text = dr.GetString(0);
}
}
}
catch (Exception ex) { MessageBox.Show("\n"+ex); }
}
如果您的代码只返回一条记录和一列,那么您可以使用性能更高的ExecuteScalar,而无需构建OracleDataReader
// Again using statement around disposable objects
object result = cmd.ExecuteScalar();
if(result != null)
textBox1.Text = result.ToString();
我做了和你说的一样的事,但这是一个例外。我已经更新了包含该例外情况的问题。请再看看这个问题。感谢在连接的打开调用中给出了错误。这意味着您的连接字符串是错误的。如果连接字符串是错误的,应该是什么。我正在使用密码为123的人力资源帐户。有东西阻止您的提供商访问数据库。我只能建议四处寻找错误ORA-12154的可能原因,例如这一个
// Again using statement around disposable objects
object result = cmd.ExecuteScalar();
if(result != null)
textBox1.Text = result.ToString();