在Visual Basic中从SQL Server DB获取最后一个id

在Visual Basic中从SQL Server DB获取最后一个id,sql,sql-server,vb.net,Sql,Sql Server,Vb.net,我需要创建一个返回最后插入的id的函数,但连接不起作用 代码: 问题在于连接字符串无法按指定连接到数据库,因此应更改连接字符串: 您应该为正确的连接指定AttachDbFilename和初始目录 例如: SQL Server连接字符串标记 Initial Catalog=由于VistaDB中每个文件只有一个数据库,因此没有初始目录的概念。 用户Id=所有数据库文件对VistaDB连接完全可用,没有每个用户的限制。 Trusted_Connection=所有连接都受信任。 集成安全性=没有概念,因

我需要创建一个返回最后插入的id的函数,但连接不起作用

代码:


问题在于连接字符串无法按指定连接到数据库,因此应更改连接字符串:

您应该为正确的连接指定AttachDbFilename和初始目录

例如:

SQL Server连接字符串标记

Initial Catalog=由于VistaDB中每个文件只有一个数据库,因此没有初始目录的概念。 用户Id=所有数据库文件对VistaDB连接完全可用,没有每个用户的限制。 Trusted_Connection=所有连接都受信任。 集成安全性=没有概念,因为所有用户都必须登录到计算机才能访问该文件。 Network Library=VistaDB只有一个托管程序集,不使用库

MultipleActiveResultSets=MARS目前不受支持

AttachDbFilename=文件名是数据源标识符的一部分

故障转移合作=VistaDB中没有服务器组件或镜像。 异步处理=VistaDB中的所有连接都是同步的。不支持异步操作


有关详细信息:

以下是连接到服务器所需的连接字符串。 您需要在连接字符串中写入SQL密码

Private Function lastId() As Integer
    Using conn As New SqlConnection("Server=localhost;UserId=root;Password=myPassword;database=farmacia")
        Dim query = "SELECT max(id_client) FROM clients"
        Dim cmd As New SqlCommand(query, conn)
        conn.Open()
        Return Convert.ToInt32(cmd.ExecuteScalar())
    End Using
End Function
此查询可以查找最新插入的id

SELECT max(id_client) FROM clients

由于连接字符串的原因,您出现了该错误

请进行一些研究。有一个这样的函数,SQL Server中确实有3个,但有什么不起作用?您得到了什么错误?可能的重复说明找不到服务器对我来说似乎很清楚-您的代码无法找到具有提供的连接字符串的服务器。仔细检查您的连接字符串。
Private Function lastId() As Integer
    Using conn As New SqlConnection("Server=localhost;UserId=root;Password=myPassword;database=farmacia")
        Dim query = "SELECT max(id_client) FROM clients"
        Dim cmd As New SqlCommand(query, conn)
        conn.Open()
        Return Convert.ToInt32(cmd.ExecuteScalar())
    End Using
End Function
SELECT max(id_client) FROM clients