我的问题如下:我想从SQL Server表中获取一些记录并将其显示在表单中的文本框中。
我现在想要的是SELECT
这些记录,但会使用WHERE
条件对其进行过滤。
我在这里连接到我使用的数据库:
private void Form2_Load(object sender, EventArgs e)
{
try
{
objConnect = new DatabaseConnection();
conString = Properties.Settings.Default.barcodeConnectionString;
objConnect.connection_string = conString;
objConnect.Sql = Properties.Settings.Default.SQL;
ds = objConnect.GetConnection;
MaxRows = ds.Tables[0].Rows.Count;
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
try
{
objConnect = new DatabaseConnection();
conString = Properties.Settings.Default.barcodeConnectionString;
objConnect.connection_string = conString;
objConnect.Sql = Properties.Settings.Default.SQL2;
ds2 = objConnect.GetConnection;
MaxRows2 = ds2.Tables[0].Rows.Count;
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
我抓住记录的地方:
private void NavigateRecords()
{
dRow = ds.Tables[0].Rows[inc];
if (textBox1.Text == dRow.ItemArray.GetValue(0).ToString())
{
textBox2.Text = dRow.ItemArray.GetValue(1).ToString();
textBox3.Text = dRow.ItemArray.GetValue(9).ToString();
}
}
private void NavigateRecordz()
{
dRow2 = ds2.Tables[0].Rows[inc2];
if (textBox1.Text == dRow2.ItemArray.GetValue(3).ToString())
{
textBox4.Text = dRow2.ItemArray.GetValue(10).ToString();
textBox5.Text = dRow2.ItemArray.GetValue(1).ToString();
}
}
在标签浏览解决方案中,在属性 - >下;设置我使用以下值获得了这两个属性:
SELECT * FROM DAT_SCOMPART
并且像这样工作;
如果我尝试使用
SELECT *
FROM DAT_SCOMPART
WHERE SCO_UDC > 99999
(我需要的过滤器)它不再返回记录。
关于如何过滤记录的任何想法?
代码已更正,这两个按钮点击事件正在运行:
private void btnRefresh_Click(object sender, EventArgs e)
{
if (inc < MaxRows -1)
{
inc++;
NavigateRecords();
btnRefresh.PerformClick();
}
else
{
inc = 0;
textBox2.Focus();
}
}
private void btnRefresh2_Click(object sender, EventArgs e)
{
if (inc2 < MaxRows2 - 1)
{
inc2++;
NavigateRecordz();
btnRefresh2.PerformClick();
}
else
{
inc2 = -1;
textBox2.Focus();
}
}