可以';t使用Visual Studio 2013在SQL Server 2014中插入或删除记录
本文关键字:2014 Server SQL 插入 记录 删除 2013 使用 Studio Visual 可以 | 更新日期: 2023-09-27 18:26:35
上下文
我使用的是Visual Studio 2013,我创建了一个ADO.Net实体数据模型,该模型连接到我的SQL Server 2014数据库。
我可以使用RESTful服务检索数据并显示它。
问题
但我不能在任何表中插入数据(也可以删除和编辑)。
我的连接是否设置为只读模式?我查看了数据库的属性,但没有任何内容指向该选项。
有什么帮助吗?!
编辑:
这是我的WCF服务代码。下面是Create()
主体:
using (OnlinestoreEntities ose = new OnlinestoreEntities())
{
try
{
UserEntity user = new UserEntity();
user.Id = _user.Id;
user.Name = _user.Name;
user.Password = _user.Password;
user.Email = _user.Email;
ose.UserEntities.Add(user);
ose.SaveChanges();
return true;
}
catch
{
return false;
}
};
以下代码是客户端的Create()
(使用MVS模型),当点击Add User
链接时,会从控制器调用此函数:
public bool Create(User user)
{
try
{
var webClient = new WebClient();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(User));
MemoryStream mem = new MemoryStream();
ser.WriteObject(mem, user);
string data = Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
webClient.Headers["Content-type"] = "application/json";
webClient.Encoding = Encoding.UTF8;
String str = webClient.UploadString(BASE_URL + "create", "POST", data);
return true;
}
catch
{
return false;
}
}
你还需要任何细节吗,我以为问题是关于数据库设置的?!
看起来用于连接SQL数据库的用户名具有只读访问权限。您应该使用其他具有DML操作权限的用户名。
如果您没有其他用户名,则必须联系SQL server 的DBA
编辑
安装SQL server时,您可以选择配置如何对SQL server进行身份验证(即Windows身份验证模式或混合模式)。我更喜欢混合模式。
然后,在选择混合模式后,您必须配置您的"SA"密码。
对我来说,它看起来像是你在使用windows身份验证,只有你有管理员访问权限,其他人都配置为只读。
在IIS中部署ASP.Net应用程序时。默认情况下,它需要AppPoolIdentity来打开SQL连接,而SQL连接没有任何权限执行DML操作