我想将TextBox中的数据添加到数据库中,但它不起作用。
{{1}}
答案 0 :(得分:0)
替换
da.InsertCommand.Parameters.Add("@id", SqlDbType.Int).Value = txtnr.Text;
用这个
da.InsertCommand.Parameters.Add("@id", SqlDbType.Int).Value = Convert.ToInt32(txtnr.Text);
答案 1 :(得分:0)
"不起作用"有点暧昧。如果您收到错误或异常,请发布。
此外,正如Arvin建议的那样,首先将文本框值转换为整数。
答案 2 :(得分:0)
我也有很长时间同样的问题。我看到了许多相同的问题和答案。
您正在使用| DataDirectory |。我假设您可以从DB文件中获取值,并且运行insert命令时不会出错,但这些值不会插入到DB文件中。
这绝对是我的私人想法,我的私人结论是这种行为是正常的| DataDirectory |确实。我的意思是应该在部署后保护应用程序的数据文件免于操作。 “数据”文件应该在文件中提供数据,以便我们可以读取数据。
因此,我编写了从用户端创建localDB .MDF文件(MS SQL 2014),以便我的应用程序可以利用localDB来写入和读取数据。我的应用程序自动从云服务器下载数据,我们需要经常更新。 另一方面,我将大量已修复的数据放入| DataDirectory | .MDF文件,我的意思是插入大数据以供只读,并在部署之前将MDF文件添加到我的项目中。
希望我的经验有所帮助。但是,请再次记住这是我的私人意见,我可能完全错了,我的经验仅限于本地数据库。但同样,我找不到微软提到这种行为的官方文件。
您是否只有一个选项,如| DataDirectory | ?这项工作之前是否有效?这段代码是你自己写的吗?如果可能,尝试找到另一个选项而不是| DataDirectory |连接到SQL数据库。 我使用带有IP地址的云SQL服务器,但我无法理解为什么使用| DataDirectory |。 SQL Express的连接字符串可能有很多种选择。