none
listbox,datagridview,form. RRS feed

  • 问题

  • 我有两个表单,

    第一个包含一个listbox,第二个表单有一个datagridview。

    当我选择第一个listbox的时候,我将选项赋值给全局变量a,这个a是通过单独的module声明的。

    在第二个表单里,我用where left(field1,4)=a来筛选数据集,并将数据集填充到datagridview。

    请问这有什么问题吗?

    我的第二个表单总是没有数据。

    2013年12月5日 2:03

答案

全部回复

  • 请您调试程序,并且把完整的SQL语句黏贴到SQL 管理器中执行看看是否有结果,以及数据是否正确,谢谢!

    ASP.NET Questions
    Other Discussions
    FreeRice Donate
    Issues to report

    2013年12月5日 6:18
    版主
  • select * from FS where left(科目代码,4) =1001这个语句在管理器运行正常;

      

    Private Sub statement_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            Debug.WriteLine(a)

    ’**以上这个句子输出1001,说明全局变量a正常。

            Dim str As String
            Dim ds As New DataSet
            Dim da As SqlDataAdapter
            str = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files (x86)\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\Sales_Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
            Dim con As New SqlConnection(str)
            con.Open()
            Dim sql1 As String = "select * from FS where left(科目代码,4) = a"

    ‘**Dim sql1 As String = "select * from FS"   这个语句运行正常!!说明不是数据连接的问题。

            da = New SqlDataAdapter(sql1, con)
            da.Fill(ds)

            DataGridView1.DataSource = ds.Tables(0)
        End Sub

    2013年12月5日 6:35
  • "a"如果是一个变量,那么应该用“&”拼接:

    Dim sql1 As String = "select * from FS where left(科目代码,4) =" & a


    ASP.NET Questions
    Other Discussions
    FreeRice Donate
    Issues to report

    • 已标记为答案 ikkyuuu 2013年12月5日 7:14
    2013年12月5日 6:41
    版主
  • 谢谢,正是你这个问题。
    2013年12月5日 7:15