如何在 Visual Studio 2015 中将数据库中的一行显示到文本框
How could I show a row from the database to a textbox in Visual Studio 2015
我刚开始使用 Visual Studio,我想知道如何将 maincategory
table 的 maincategory_name
列下的第一行回显到文本框 1 .我遵循了有关如何通过数据库插入数据的指南,但我想知道的是如何打印出一个,所以我有点困惑我将如何做到这一点,因为我知道我在文本框中得到的输出是:System.Data.SqlClient.SqlCommand
namespace TrialForDatabase
{
public partial class Form1 : Form
{
SqlConnection sc = new SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\flex\Documents\Visual Studio 2015\Projects\Inventory\Inventory\inventory.mdf';Integrated Security=True;Connect Timeout=30");
SqlCommand cmd;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
sc.Open();
cmd = new SqlCommand("SELECT maincategory_name FROM maincategory", sc);
textBox1.Text = cmd.ToString();
sc.Close();
}
}
}
ToString()
not 不是从 Object
重新定义的,所以它只打印 class 的名字。
您想要做的是打印您的 SQL 命令的 结果 ,为此,您将需要...嗯,执行它。
SqlCommand.ExecuteReader() will return a SQLDataReader 对象,您可以像使用简单数组一样从中读取行。
所以如果你真的只想要第一行,你可以快速而肮脏地逃脱:
private void button1_Click(object sender, EventArgs e)
{
sc.Open();
cmd = new SqlCommand("SELECT maincategory_name FROM maincategory", sc);
textBox1.Text = cmd.ExecuteReader()[0];
sc.Close();
}
此函数首先创建您的 SQL 命令,然后使用 SqlCommand.ExecuteReader() 执行它,然后使用 SqlDataReader.Read() 检查您是否得到任何结果,然后显示第一列将结果的第一行添加到文本框:
private void button1_Click(object sender, EventArgs e)
{
sc.Open();
cmd = new SqlCommand("SELECT maincategory_name FROM maincategory", sc);
using (var reader = cmd.ExecuteReader()){
if ( reader.Read() )
{
textBox1.Text = reader.GetString(0);
}
};
sc.Close();
}
有关所用 类 的更多信息,请参阅此处:
https://msdn.microsoft.com/de-de/library/system.data.sqlclient.sqlcommand(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader(v=vs.110).aspx
我刚开始使用 Visual Studio,我想知道如何将 maincategory
table 的 maincategory_name
列下的第一行回显到文本框 1 .我遵循了有关如何通过数据库插入数据的指南,但我想知道的是如何打印出一个,所以我有点困惑我将如何做到这一点,因为我知道我在文本框中得到的输出是:System.Data.SqlClient.SqlCommand
namespace TrialForDatabase
{
public partial class Form1 : Form
{
SqlConnection sc = new SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\flex\Documents\Visual Studio 2015\Projects\Inventory\Inventory\inventory.mdf';Integrated Security=True;Connect Timeout=30");
SqlCommand cmd;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
sc.Open();
cmd = new SqlCommand("SELECT maincategory_name FROM maincategory", sc);
textBox1.Text = cmd.ToString();
sc.Close();
}
}
}
ToString()
not 不是从 Object
重新定义的,所以它只打印 class 的名字。
您想要做的是打印您的 SQL 命令的 结果 ,为此,您将需要...嗯,执行它。
SqlCommand.ExecuteReader() will return a SQLDataReader 对象,您可以像使用简单数组一样从中读取行。
所以如果你真的只想要第一行,你可以快速而肮脏地逃脱:
private void button1_Click(object sender, EventArgs e)
{
sc.Open();
cmd = new SqlCommand("SELECT maincategory_name FROM maincategory", sc);
textBox1.Text = cmd.ExecuteReader()[0];
sc.Close();
}
此函数首先创建您的 SQL 命令,然后使用 SqlCommand.ExecuteReader() 执行它,然后使用 SqlDataReader.Read() 检查您是否得到任何结果,然后显示第一列将结果的第一行添加到文本框:
private void button1_Click(object sender, EventArgs e)
{
sc.Open();
cmd = new SqlCommand("SELECT maincategory_name FROM maincategory", sc);
using (var reader = cmd.ExecuteReader()){
if ( reader.Read() )
{
textBox1.Text = reader.GetString(0);
}
};
sc.Close();
}
有关所用 类 的更多信息,请参阅此处:
https://msdn.microsoft.com/de-de/library/system.data.sqlclient.sqlcommand(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader(v=vs.110).aspx