如何使用vb.net从表数据库到链接的ID ?



我有一个系统,当用户点击按钮提交时,它会将数据插入表数据库中,并向用户发送电子邮件。我的问题是我想把一个链接到电子邮件。主体,以便用户可以单击到Approval页面的链接。但是当我点击链接的时候它显示的是the sites can't be reachedid=0。每个函数都工作得很好,我只是有一个问题与链接。

下面是我的sendMessage()代码:
Private Sub SendMessage()
Dim mail As MailMessage = New MailMessage
mail.From = New MailAddress("notice@example.com")
mail.To.Add(New MailAddress("user1@example.com"))
mail.Subject = "Test Approval"
Dim link As String
Dim intID As Integer
link = "<a href=""http://localhost:" & "/test/test.aspx?id=" & LoadEmployeeDetailsById(intID) & """>Click here</a>"
mail.Body = "<br/><br/>Employee No : " & lblEmpNO.Text.Trim(Environment.NewLine, "<br />") & "<br/><br/>Employee Name : " & lblemployeename.Text.Trim & link

mail.IsBodyHtml = True
Dim client As New SmtpClient()
client.EnableSsl = True
Try
client.Send(mail)
'MsgBox("Sending Email succeeded")
Catch ex As Exception
'MsgBox("Sending Email failed. Please try again")
End Try
End Sub

下面是loaddemployeedetailsbyid (intID):

Private Function LoadEmployeeDetailsById(ByVal intid As Integer) As String
Using GetdutyDetails As New clsExternalWorkDuty_func
Dim dt As New DataTable
Dim result As String = ""
dt = GetdutyDetails.GetAllDataTableExternalWorkdutyDetailsByID(intid) 'Call the Function from AppCode
If dt.Rows.Count > 0 Then
pnlApproval.Visible = True 
End If
Return result
End Using
End Function

btnSubmit():

Protected Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
If InsertData(lblhdddnuserid.Text, lblhddnEmployeedeptid.Text) = 1 Then
DisplayMessage("success", "Done", "Data succesfully inserted!")
SendMessage()
LoadEmployeeByuserid(Membership.GetUser.ProviderUserKey)
End If
End Sub

必须修改SQL返回标量值的Id。如果ID是一个IDENTITY列,那么您可以在语句的末尾调用SELECT SCOPE_IDENTIY()。或者你可以使用OUTPUT指令,如下所示:

INSERT INTO [YourTable] ([Field1], [Field2], [Field3])
OUTPUT INSERTED.ID VALUES (@Value1, @Value2, @Value3)

调整你的InsertData函数以返回一个对象作为结果

Public Class InsertDataResult
Public Property Success As Boolean
Public Property InsertedId As Integer
End Class

最新更新