现在,当上一个问题得到解决时,出现了一个新问题。当我运行我的代码时,它给我列名称(显然不是我的列名):
System.Data.DataRowView
我使用的代码是:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text == "select" || textBox1.Text == "SELECT" || textBox1.Text == "SELECT")
{
string cmdstr = @"select * from information_schema.columns where table_name = '" +comboBox1.SelectedItem+ "'";
string conStr = @"Data Source=INPDDBA027\NGEP;Initial Catalog=Dev_Server;Integrated Security=True";
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmdstr, conStr);
sda.Fill(dt);
listBox2.DataSource = dt;
}
}
请帮助。
答案 0 :(得分:1)
如果您将复杂对象作为DataSource,则需要指定显示成员。
listBox2.DisplayMember = "COLUMN_NAME"
如果您未指定DisplayMember,则默认为在每个对象上调用.ToString()
。默认值是对象的类型,这就是您获得System.Data.DataRowView
旁注:
而不是:
if (textBox1.Text == "select" || textBox1.Text == "SELECT" || textBox1.Text == "SELECT")
您可以使用:
if (textBox1.Text.Equals("select", StringComparison.OrdinalIgnoreCase))