C# Oracle连接后在DataGrid中没有结果
我试图将Oracle与C#联系起来,但不幸的是没有成功。我是C#和WPF的新手。谢谢你的帮助C# Oracle连接后在DataGrid中没有结果,c#,wpf,oracle11g,C#,Wpf,Oracle11g,我试图将Oracle与C#联系起来,但不幸的是没有成功。我是C#和WPF的新手。谢谢你的帮助 private void Window_Loaded(object sender, RoutedEventArgs e) { try { String connectionString = "Data Source=DWH; User Id=readonly; Password=********;"; Oracle
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
String connectionString = "Data Source=DWH; User Id=readonly; Password=********;";
OracleConnection con = new OracleConnection();
con.ConnectionString = connectionString;
con.Open();
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "SELECT * FROM SALARIES";
cmd.Connection = con;
OracleDataReader dr = cmd.ExecuteReader();
DataGrid dg = new DataGrid();
dr.Read();
}
catch (Exception exp) { }
}
试试这个:
编辑我的代码
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
String connectionString = "Data Source=DWH; User Id=readonly; Password=********;";
OracleConnection con = new OracleConnection();
con.ConnectionString = connectionString;
con.Open();
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "SELECT * FROM SALARIES";
cmd.Connection = con;
OracleDataReader dr = cmd.ExecuteReader();
DataGrid dg = new DataGrid();
if (dr.HasRows)
{
DataTable dt = new DataTable();
dt.Load(dr);
dg.ItemsSource= dt.DefaultView;
}
con.Close();
}
catch (Exception exp) { }
}
谢谢大家,这是我的解决方案
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
String connectionString = "Data Source=DWH; User Id=readonly; Password=*******;";
OracleConnection con = new OracleConnection();
con.ConnectionString = connectionString;
con.Open();
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT * FROM SALARIES";
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
DataGrid1.ItemsSource = dt.DefaultView;
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
至少您必须1)将数据读取器中的项目读取到某些集合,如
列表
,可观察集合
,等等;2) 通过ItemsSource
和数据绑定,或直接通过items
将项目添加到网格中(不推荐)。您当前的代码既不读取数据,也不使用数据填充网格。您没有对DataGrid执行任何操作,甚至没有将其添加到UI,因此您的期望是什么?@Yves:您是否在XAML中定义了任何DataGrid元素?DataTable
s?你是认真的吗?嘿,乌巴尔迪斯尼,非常感谢你的回复。我试过了,但没用。