mysql - System.InvalidCastException:“从字符串“员工”到类型“布尔”的转换无效。
问题描述
我创建的表单会弹出,但是当我单击打开按钮时会出现此错误。该错误将我引导至 sqlConn.ConnectionString ,因此有关该问题的任何见解都非常有帮助。
Private Sub updateTable()
sqlConn.ConnectionString = "server=" + server + ";" + "user id =" = username + ";" _
+ "password= " + password + ";" + "database" = database
sqlConn.Open()
sqlCmd.CommandText = "SELECT * From employee.employee"
sqlRd = sqlCmd.ExecuteReader
sqlDt.Load(sqlRd)
sqlRd.Close()
sqlConn.Close()
DataGridView1.DataSource = sqlDt
End Sub
解决方案
您实际上并没有正确阅读您的代码,而是看到了您期望看到的内容,而不是实际存在的内容。这个:
sqlConn.ConnectionString = "server=" + server + ";" + "user id =" = username + ";" _
+ "password= " + password + ";" + "database" = database
由于多种原因是错误的。你真正想写的是这样的:
sqlConn.ConnectionString = "server=" + server + ";" + "user id =" + username + ";" _
+ "password= " + password + ";" + "database=" + database
请注意,您的代码中有三个错误。您需要更加小心,尤其是当您明确知道那是错误的行时。
也就是说,有多种方法可以改进该代码。首先,如果要连接,请Strings
使用字符串连接运算符,而不是加法运算符。此外,永远不要连接两个文字:
sqlConn.ConnectionString = "server=" & server & ";user id=" & username & ";password=" & password & ";database=" & database
问题是,您首先犯此错误的原因是,以这种方式连接大量子字符串会使您的代码难以阅读,因此容易出错。我通常只会使用一个连接运算符,或者最多使用两个。如果您需要更多,请使用其他选项。从 .NET 1.0 到最近,该选项将是String.Format
:
sqlConn.ConnectionString = String.Format("server={0};user id={1};password={2};database={3}",
server,
username,
password,
database)
更具可读性,因此不容易出现您犯的那种错误。在更新的版本中,您还可以选择字符串插值:
sqlConn.ConnectionString = $"server={server};user id={username};password={password};database={database}"
不过,您不应该使用任何这些选项。在构建连接字符串时,请使用适当的连接字符串构建器。所有 ADO.NET 提供程序都有这样的类,Connector/Net 也不例外。我不确定具体的属性会被称为什么,但它看起来像这样:
Dim builder As New MySqlConnectionStringBuilder With {.Server = server,
.UserID = username,
.Password = password,
.Database = database}
sqlConn.ConnectionString = builder.ConnectionString
这仍然不太容易出错。
推荐阅读
- javascript - 动态工具提示文本 amChart
- swift - 在只有数字和逗号的字符串中,如何将其转换为双精度
- arrays - 如何在 R 中关联数组和数据框索引值的暗名?
- python - 如何从多个上下文对象中选择 get_context_data 分页?
- node.js - Alexa 在数据返回之前做出响应
- javascript - 如何修复 Axios.get 未正确传入动态 IP
- microsoft-graph-api - Microsoft Graph 订阅 - 未收到日历事件通知
- sql - 优化postgresql数据库中5B记录表的sql查询
- php - 在 WooCommerce 单个产品页面中添加指向父产品类别的链接
- bash - 将 url 处理到应用程序的输出中并剥离它们以创建具有 url 名称的文件