我有这个sql:
UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = 21)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = 21)
Run Code Online (Sandbox Code Playgroud)
它一直有效,直到我把它变成参数化查询:
UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = @jvst_id)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = @jvst_id)
Duplicated parameter names are not allowed. [ Parameter name = @jvst_id ]
Run Code Online (Sandbox Code Playgroud)
我试过这个(我认为它可以在SQL SERVER 2005中使用 - 虽然我没有尝试过):
UPDATE JOBMAKE
SET WIP_STATUS='10sched1'
FROM JOBMAKE JM,JOBVISIT JV
WHERE …Run Code Online (Sandbox Code Playgroud) 我试图在SQL CE上擦除并重新填充测试数据.由于存在FK约束,我收到错误.通常在Sql2005中我会
ALTER TABLE [tablename] CHECK/NOCHECK CONSTRAINT ALLRun Code Online (Sandbox Code Playgroud)启用/禁用所有约束.从我在搜索中找到的内容来看,CE似乎可能不支持.真的吗?如果是这样,还有其他选择吗? 我已经设置了一个带有SDF本地数据库文件的项目,并尝试使用LINQ To SQL(".dbml")文件访问它.我已经使用了sdf文件提供的连接字符串,并且可以在没有问题的情况下实例化对象:
thisDataContext = new MyDataContext(GetConnectionString());
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试从中访问任何信息时,例如
var collection = (from MyObject p in thisDataContext.MyTable select p);
Run Code Online (Sandbox Code Playgroud)
我收到错误 -
"表名无效.[令牌行号(如果已知)= 2,令牌行偏移量(如果已知)= 14,表名=人物]"
我使用的是Visual Studio 2008 SP1 .Net 3.5和SQL 2008 CE.
我收集了类似的事情发生在SQL 2005 CE和一个Hotfix发布,但我会认为该版本将在发布前修复此版本.
有谁知道修复此问题?
谢谢
如何将Sql Server CE Db连接到C#DotNet 4.0我听说过System.Data.SqlServerCe NameSpace用于连接本地数据库,但我无法在.Net 4.0中找到它
有没有替代班级?
我试图使用参数将一些数据插入到SQL Compact Edition表中.我的表允许插入null,但是当我在下面运行我的代码时,我无法使其工作,因为其中一个参数有时会为空,并且当参数为null时我想在该列中插入null.
我怎么解决这个问题?
string strConn = Properties.Settings.Default.SqlConnectionString;
using (SqlCeConnection conn = new SqlCeConnection(strConn))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand("insert into table(ID, Name, Adress) values (@parm1, @parm2, @param3)", conn))
{
cmd.Parameters.AddWithValue("@parm1", ID);
cmd.Parameters.AddWithValue("@parm2", Name);
cmd.Parameters.AddWithValue("@parm3", Adress);
cmd.ExecuteNonQuery();
}
}
Run Code Online (Sandbox Code Playgroud) 如果我使用SQL Server CE,有什么方法可以获得最后插入的ID吗?我有2个表,当创建新记录时,我希望能够将ID保存在第二个表中.
只是想知道一些这方面的做法;
我用本地数据库(SQL CE)(dB.sdf文件)制作了一个简单的可视化C#程序.
假设用户删除了dB.sdf文件,并尝试打开exe程序 - 没有任何反应(exe文件启动但又重新关闭).
这里的典型做法是什么?程序是不会启动还是让程序创建数据库文件(如果它不存在)?
如果是后者,它是如何完成的?
最好的祝福
我从我的应用程序中使用SQL Server CE数据库.我的节目位于DVD上.
我无法从DVD上的数据库中读取数据,我将SQL连接字符串模式设置为只读但它不起作用(我只想从db读取数据)
错误:
以只读方式打开数据库需要指定临时路径.[Db name = C:\ Users\Ali\AppData\Local\Temp\Rar $ EX52.280 ...]
请帮忙!
如果我通过VS2010创建一个SQL Express数据库,我可以创建图表,这样就可以设置外键关系.紧凑型数据库中的情况如何?服务器资源管理器中没有此类DB的选项.
我想在SQL Server Compact Edition数据库中更改表的列的类型,但似乎是该语句
ALTER TABLE [table name] modify [column name] [new type]
Run Code Online (Sandbox Code Playgroud)
不起作用(VS2010给了我错误:"不支持ALTER TABLE SQL构造或语句.").
我的原始类型是INT,我想将其更改为BIGINT.
它是完全不受SQL Server CE支持还是我必须执行另一种查询?
sql-server-ce ×10
c# ×5
sql ×4
database ×2
sql-server ×2
.net ×1
.net-4.0 ×1
c#-4.0 ×1
t-sql ×1