Can you pls explain your objective first. I cant get it form you code. I have made some comments in your code. Can u pls explain those things
Protected Sub btnchk_name_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnchk_name.Click
Dim str As String = "select ID from table1 where ID = '" & txtid.Text & "'"
Dim con As String = ConfigurationManager.AppSettings("preeconn")
Dim com As New SqlCommand(str, New SqlConnection(con))
com.Connection.Open()
Dim da As New SqlDataAdapter(str, con)
' I cant see you using this object anywhere
Dim dr As SqlDataReader
dr = com.ExecuteReader 'where sqldatareader ain't run without using
' Are you sure this is the condition you really meant to give
If Not dr.Read() Then
datagrid.datasource=com.executereader()
' When you already have the result of your query in the sqldatareader object, why are u executing the same query the again, you could have used the same old object
datagrid.databind()
End If
End Sub