2016-12-14 66 views
-1

我在写文本框时使用此代码来提示姓名。 当没有更多的建议,我想展示一个新的表格,但我不知道如何计数建议itens。计算在VB.NET中的文本框中有多少建议

任何人都可以帮助我吗?

在此先感谢并对我的英语感到抱歉。

If txt_nome.Text.Length >= 3 Then 

     Using con As NpgsqlConnection = GetConnection() 

      Dim sql As String 
      sql = "SELECT nome FROM dados_pessoais" 
      Dim cmd As NpgsqlCommand = New NpgsqlCommand(sql, con) 
      Dim da As NpgsqlDataAdapter = New NpgsqlDataAdapter(cmd) 
      Dim ds As New DataSet 

      da.Fill(ds, "list") 
      Dim col As New AutoCompleteStringCollection 
      Dim i As Integer 
      For i = 0 To ds.Tables(0).Rows.Count - 1 
       col.Add(ds.Tables(0).Rows(i)("nome").ToString()) 
      Next 
      txt_nome.AutoCompleteSource = AutoCompleteSource.CustomSource 
      txt_nome.AutoCompleteCustomSource = col 
      txt_nome.AutoCompleteMode = AutoCompleteMode.Suggest 

     End Using 
    End If 
End Sub 
+0

'ds.Tables(0).Rows.Count'会给你你所需要的... – Codexer

回答

-1

能否请您试试这个

  1. 添加这对你的公共类的形式(表单名以上)

Dim c As New NsqlConnection(GetConnection)

Dim cmd As New NsqlCommand

Dim da As New NsqlDataAdapter

Dim dr As NsqlDataReader

Dim ds, ds1 As New DataSet

那么公共类中的任何位置粘贴此

Sub CountNumbers 
Dim x as integer 
Try 
ds.Clear() 
c.Open() 
cmd = New NsqlCommand("SELECT Count(nome) FROM dados_pessoais", c) 
da = New NsqlDataAdapter(cmd) 
da.Fill(ds, "dados_pessoais") 
x = ds.Tables(0).Rows(0).Item(0) 
if x = 0 then 
'Go to your Form 
else 
'Do Nothing 
end if 

Catch ex As Exception 
MsgBox(ex.Message) 
Finally 
c.Close() 
End Try 


End Sub 

的在你的代码上面上面月底子写这个

CountNumbers

我写这个没有尝试,如果这一个工作,但如果没有,我会帮助你的错误。这是很长的方法,但我确定有一个短的方法