请问大家,我在textchange事件中,针对复制、粘贴与录入的内容,对数据表进行查询,代码如下,但由于录入内容有时会很长,我想采用回车一下,再启动查询的方式,以避免因还没录完,就频繁查询所导致的查询不到或性能卡顿的问题,请问怎么实现;
private async void txtCode20_TextChanged(object sender, EventArgs e)
{
string connectionString = "server=192.168.4.200;database=BCM30_DrugAdmin;user=sa;password=sskyadmin1!";
string query = @"SELECT code20, batchNo, parentCode2, orderCode, customerName, orderType, createTime, updateTime
FROM (
SELECT dr.code20 as code20 ,dr.batchNo as batchNo, dr.parentCode2 as parentCode2, wo.orderCode as orderCode ,wd.customerName as customerName,wd.orderType as orderType,wo.createTime as createTime,wo.updateTime as updateTime FROM dbo.da_codeRelation_193815500501 dr
JOIN dbo.da_warehouseOutCode wo ON dr.parentCode2 = wo.code20
JOIN dbo.bcm_warehouseOrder wd on wo.orderCode = wd.orderCode
WHERE dr.code20 = @Code20 --心可舒96片
union
SELECT dr.code20 as code20 ,dr.batchNo as batchNo, dr.parentCode2 as parentCode2, wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime ,wo.updateTime as updateTime FROM dbo.da_codeRelation_193815500202 dr
JOIN dbo.da_warehouseOutCode wo ON dr.parentCode3 = wo.code20
JOIN dbo.bcm_warehouseOrder wd on wo.orderCode = wd.orderCode
WHERE dr.code20 = @Code20 --心可舒48片
union
SELECT dr.code20 as code20 ,dr.batchNo as batchNo, dr.parentCode2 as parentCode2, wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime ,wo.updateTime as updateTime FROM dbo.da_codeRelation_193815500402 dr
JOIN dbo.da_warehouseOutCode wo ON dr.parentCode3 = wo.code20
JOIN dbo.bcm_warehouseOrder wd on wo.orderCode = wd.orderCode
WHERE dr.code20 = @Code20 --心可舒72片
union
SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode2 as parentCode2, wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType , wo.createTime as createTime,wo.updateTime as updateTime FROM dbo.da_codeRelation_191925600201 dr
JOIN dbo.da_warehouseOutCode wo ON dr.parentCode2 = wo.code20
JOIN dbo.bcm_warehouseOrder wd on wo.orderCode = wd.orderCode
WHERE dr.code20 = @Code20 --心可舒胶囊24粒
union
SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode2 as parentCode2 , wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime,wo.updateTime as updateTime FROM dbo.da_codeRelation_193815500302 dr
JOIN dbo.da_warehouseOutCode wo ON dr.parentCode3 = wo.code20
JOIN dbo.bcm_warehouseOrder wd on wo.orderCode = wd.orderCode
WHERE dr.code20 = @Code20) as subquery"; //心可舒异形片0.62
try
{
using (SqlConnection Conn = new SqlConnection(connectionString))
{
await Conn.OpenAsync();
DataTable sumdt = new DataTable();
string Code20 = txtCode20.Text;
using (SqlCommand Cmd = new SqlCommand(query, Conn))
{
Cmd.Parameters.AddWithValue("@Code20", Code20);
using (SqlDataAdapter sda = new SqlDataAdapter(Cmd))
{
await Task.Run(() => sda.Fill(sumdt));
}
dataGridView1.DataSource = sumdt;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}