用本例做一个类似于查询分析器的应用程序
为窗体添加一个多行文本框,一个命令按钮和一个列表视图。
CreateCommand返回一个与sqlConnection关連的sqlCommand对象。
列标头类ColumnHeader的GetName()方法用于获取指定列的名称
ListViewItem类中的GetValue()方法用于获取指定列的值
ListViewItem用来表示ListView控件中的一个项。
ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。
ListView的第一列的索引为0,第二列叫做第一个子项(SubItem),第三列叫做第二个子项,依此类推。
用法,先实例化一个ListViewItem对象:
ListViewItem itemX = new ListViewItem();
设置项目值:
itemX.Text = dr.GetValue(0).ToString(); //设置项的文本
for (int i = 1; i < dr.FieldCount; i++)
{
itemX.SubItems.Add(dr.GetValue(i).ToString());//获取子项的值
}
然后将子项添加到ListView中:
lView.Items.Add(itemX);
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
using
System.Data.SqlClient;

namespace
MyApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void cmdEecute_Click(object sender, EventArgs e)
{

SqlConnection Conn = new
SqlConnection("Data Source=localhost;Integrated Security=SSPI;database=Northwind");
try
{
//清除列标题及列表项
lvwDS.Columns.Clear();
lvwDS.Items.Clear();

Conn.Open();
//创建sqlCommand对象
SqlCommand cmd = Conn.CreateCommand();
//获取用户输入的命令字符串
string strSQL = txtSQL.Text;
//设置sqlCommand对象的文本属性
cmd.CommandText = strSQL;
//创建DataReader对象
SqlDataReader dr = cmd.ExecuteReader();
//获取列标题的文本,并显示
for (int i = 0; i < dr.FieldCount; i++)
{
//创建一个列标头
ColumnHeader ch = new ColumnHeader();
ch.Text = dr.GetName(i);
lvwDS.Columns.Add(ch);
}
//获取datareader中的每行的数值并显示
ListViewItem itmX;
while (dr.Read())
{
//创建list view项
itmX = new ListViewItem();
//设置listview的文本和子项
itmX.Text = dr.GetValue(0).ToString();
for (int i = 0; i < dr.FieldCount; i++)
{
itmX.SubItems.Add(dr.GetValue(i).ToString());
}
//将项目添加到集合中
lvwDS.Items.Add(itmX);
}
dr.Close();
Conn.Close();
}
catch (Exception ee)
{

MessageBox.Show(ee.Message);
}
finally
{
Conn.Close();
}
}
}
}
为窗体添加一个多行文本框,一个命令按钮和一个列表视图。
CreateCommand返回一个与sqlConnection关連的sqlCommand对象。
列标头类ColumnHeader的GetName()方法用于获取指定列的名称
ListViewItem类中的GetValue()方法用于获取指定列的值
ListViewItem用来表示ListView控件中的一个项。
ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。
ListView的第一列的索引为0,第二列叫做第一个子项(SubItem),第三列叫做第二个子项,依此类推。
用法,先实例化一个ListViewItem对象:
ListViewItem itemX = new ListViewItem();
设置项目值:
itemX.Text = dr.GetValue(0).ToString(); //设置项的文本
for (int i = 1; i < dr.FieldCount; i++)
{
itemX.SubItems.Add(dr.GetValue(i).ToString());//获取子项的值
}
然后将子项添加到ListView中:
lView.Items.Add(itemX);




















































































