【发布时间】:2012-09-18 03:30:46
【问题描述】:
我已将本地 sqlceserver 数据库(版本 3.5.8080.0)与我的 Windows 窗体应用程序项目 (vb) 连接起来。当我尝试使用以下代码插入数据时,
infoReader = My.Computer.FileSystem.GetFileInfo(i)
cmd.CommandText = "insert into log(filename,filesize,cdate) values('" & i & "'," & infoReader.Length & ",'" & Now.ToString(("yyyy-MM-dd")) & "')"
cmd.Connection = cs
cs.Open()
cmd.ExecuteNonQuery()
cs.Close()
cs 是 sqlceconnection 对象,声明如下:
Dim strconnection As String = "Data Source=|DataDirectory|\Database1.sdf"
Dim cs As New SqlCeConnection(String.Format("{0}", strconnection))
我已经添加了所有必需的程序集并导入了所需的命名空间。cmd.ExecuteNonQuery() 返回 1,这意味着插入命令没有问题。但是当我尝试通过服务器资源管理器查看数据时,我没有插入的行。非常欢迎任何帮助。
【问题讨论】:
-
您是否尝试刷新服务器资源管理器上的记录?
-
@JohnWoo 是的!我这样做了,也再次执行了executesql。
-
您在研究开发数据库吗?还是您正在使用应用程序数据库,例如 appfolder/debug/Datadirectory Database1.sdf?
-
@estebane9 我不知道你命名的那些东西是什么,但我只是从 VS 2010 调试应用程序。我添加的数据库是使用右键单击解决方案资源管理器项目名称,添加->新项目->本地数据库
-
好的,当您使用 SqlCe 时,数据库是一个添加到应用程序输出文件夹的文件。您在解决方案的同一文件夹中有一个 DataDirectory。但是,如果您查看 Debug 文件夹,您将看到 .exe 和另一个 DataDirectory。服务器资源管理器连接到解决方案文件夹,而不是 Debug 文件夹,这就是您看不到新行的原因
标签: vb.net winforms sql-server-ce executenonquery