where语句中不会填充文本框 [英] Where in statement will not populate from textbox
问题描述
我整天都在努力弄清楚为什么我可以在我的sql查询中输入Where in语句并正确填充网格。当我有一个tectbox加载复选框列表中的内容并输入我的where in语句时,它返回一个空白网格。
这是我查询中的cp:
I spent all day trying to figure out why I can enter Where in statement in my sql query and grid populates properly. When I have a tectbox load contents from a checkbox list and enter my where in statement it returns a blank grid.
This is a cp from my query:
Dim myComm As New SqlCommand("SELECT gl_journal_entry.transaction_date AS Trans_date, gl_journal_entry_detail.account_id AS Account, gl_journal_entry_detail.reference_number AS" _
& " Reference_no, gl_journal_entry_detail.amount AS Amount, gl_journal_entry_detail.description AS Description, CASE WHEN gl_journal_entry_detail.account_id = '100100331010'" _
& " THEN 'LA' WHEN gl_journal_entry_detail.account_id = '120100331010' THEN 'SD' WHEN gl_journal_entry_detail.account_id = '130100331010'" _
& " THEN ' SA' WHEN gl_journal_entry_detail.account_id = '140100331010' THEN 'NY' WHEN gl_journal_entry_detail.account_id = '150100331010'" _
& " THEN 'WY' WHEN gl_journal_entry_detail.account_id = '160100331010' THEN 'MN' WHEN gl_journal_entry_detail.account_id = '120100331010' THEN '" _
& "MO' WHEN gl_journal_entry_detail.account_id = '170100331010' THEN 'DE' WHEN gl_journal_entry_detail.account_id = '180100331010'" _
& " THEN '802' WHEN gl_journal_entry_detail.account_id = '190100331010' THEN 'MI' WHEN gl_journal_entry_detail.account_id = '110100331010'" _
& " THEN 'CN' WHEN gl_journal_entry_detail.account_id = '101100331010' THEN 'MX' WHEN gl_journal_entry_detail.account_id = '111100331010'" _
& " THEN 'KS' WHEN gl_journal_entry_detail.account_id = '112100331010' THEN 'FL' WHEN gl_journal_entry_detail.account_id = '121100331010'" _
& " THEN 'AL' WHEN gl_journal_entry_detail.account_id = '122100331010' THEN 'MS' WHEN gl_journal_entry_detail.account_id = '161100331010'" _
& " THEN 'OK' WHEN gl_journal_entry_detail.account_id = '151100331010' THEN 'OR' END AS BRANCH FROM gl_journal_entry" _
& " INNER JOIN gl_journal_entry_detail ON gl_journal_entry.journal_entry_id = gl_journal_entry_detail.journal_entry_id WHERE" _
& " (gl_journal_entry.transaction_date BETWEEN @bdate AND @edate) AND (gl_journal_entry_detail.account_id IN (@branch) " _
& " ) ORDER BY Account, Trans_date", myConn)
myConn.Open()
myComm.Parameters.Add("@bdate", SqlDbType.DateTime).Value = Format(Me.Datefrom.Text, "short date")
myComm.Parameters.Add("@edate", SqlDbType.DateTime).Value = Format(Me.Dateto.Text, "short date")
'myComm.Parameters.AddWithValue("@branch", SqlDbType.VarChar).Value = Me.TextBox1.Text 'Me.CheckBoxList1.SelectedValue
myComm.Parameters.AddWithValue("@branch", TextBox1.Text)
' myComm.ExecuteNonQuery()
Me.TextBox2.Text = Me.TextBox1.Text
我添加了一个文本框2来查看数据是否在回发时没有被删除,这会返回一个空白网格
如果我从文本框中粘贴此结果
(('''151100331010''),('''122100331010''), (''170100331010''))
Over(@branch)网格填充。
请帮忙。
I added a textbox 2 to see if data had not been erased on postback, this returns a blank grid
If I paste this result from the textbox
((''151100331010''),(''122100331010''),(''170100331010''))
Over (@branch) grid populates.
Please help.
推荐答案
结果用户只希望一次选择一个帐户,所以创建一个等于co的地方非常简单ndition。如果有人将其用于将来参考,我会采取解决方案。
Turns out user only wanted to select one account at a time, so it was very simple to create an where equal condition. I will take a solution if someone has it for future reference.
这篇关于where语句中不会填充文本框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!