Tag: sql server

InsertAllOnSubmit仅插入第一个数据记录

当我尝试导入多个数据记录时,我注意到今天导入服务中出现了一个奇怪的行为。 当我这样做时,导入所有数据记录并且自动递增的值是正确的( 参见屏幕截图 ): public void Create(List properties) { foreach (Property prop in properties) { dbc.Property.InsertOnSubmit(prop); dbc.SubmitChanges(); } } 当我这样尝试时,只有第一个数据记录得到一个正确的自动递增值( 见截图 ): foreach (Property prop in properties) { dbc.Property.InsertOnSubmit(prop); } dbc.SubmitChanges(); 同样在这里: dbc.Property.InsertAllOnSubmit(properties); dbc.SubmitChanges(); 有人知道为什么会这样吗? 根据我的理解,所有三种变体都应该导入所有数据记录,但缺少的自动递增值表明它不是那种方式。 [编辑]添加了两个截图。

无法在C#ASP.NET中绑定多部分标识符“TextBox1.Text”?

我正在做一个培训练习项目; 我的处理程序现在专门禁止使用paramaterization和面向安全的编码,以便降低基础知识。 话虽这么说,我的主页上有一个gridview,带有一个超链接字段,可以将用户带到一个页面,在那里他们可以编辑文本框中的行数据。 该行由“ProductId”列显示,因为它是自动增量且唯一的。 值显示完美,所以我知道我的查询字符串很好,但是当我尝试使用按钮事件进行更新时,我收到一条错误消息 无法绑定多部分标识符“TextBox1.Text”。 对于我的所有文本框。 我的代码如下。 我错过了什么? 这是我的第一次牛仔竞技表演,所以对于经验丰富的人来说,这可能是基本而且显而易见的。 using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.Sql; using System.Data.SqlClient; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class ViewEdit : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string x = Request.QueryString[“ProductId”]; string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[“MyConnectionString”].ConnectionString; string editQuery = “SELECT CustId, […]

SqlDependency OnChange未触发

这是我第一次需要使用SqlDependency,所以我希望这是我犯的一个愚蠢的错误。 我遇到的问题是当sql表更改时,OnChanged事件不会触发。 没有错误或任何事情只是它不会触发。 这是代码 public class SqlWatcher { private const string SqlConnectionString = “Data Source = CN-PC08\\DEV; Initial Catalog=DEP; User = sa; Password=******”; public SqlWatcher() { SqlClientPermission perm = new SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted); perm.Demand(); SqlCommand cmd = new SqlCommand(“SELECT [DataAvaliable], [RowNumber] FROM [dbo].[Trigger]”, new SqlConnection(SqlConnectionString)); SqlDependency sqlDependency = new SqlDependency(cmd); sqlDependency.OnChange += On_SqlBitChanged; } private void On_SqlBitChanged(object […]

从SQL Server 2012或SQL CLR C#发送HTTP POST请求

是否有一种普遍接受的标准方式从SQL Server 2012发送HTTP请求? 我想要做的是使用远程服务器处理搜索查询,然后将结果插回到SQL Server 2012数据库。 远程服务器提供了一个web api,它接受带有JSON内容的POST请求。 我有一个有效的解决方案,但需要将多个程序集加载到SQL Server中。 其中一些程序集不完全受支持(例如System.Net.Http.dll),发出如下警告: 警告:Microsoft .NET Framework程序集“system.net.http,version = 4.0.0.0,culture = neutral,publickeytoken = b03f5f7f11d50a3a,processorarchitecture = msil。” 您正在注册未在SQL Server托管环境中进行全面测试,并且不受支持。 将来,如果升级或维护此程序集或.NET Framework,则CLR集成例程可能会停止工作。 有关更多详细信息,请参阅SQL Server联机丛书。 我想知道是否有更好/更安全的方式不需要加载所有这些组件? 我的存储过程的CLR代码: [Microsoft.SqlServer.Server.SqlProcedure] public static void SendSearchRequestProcedure (string query, string table) { RunAsync(query,table).Wait(); } static async Task RunAsync(string query, string table) { using (var client = new […]

连接到多租户应用程序的数据库?

我正在创建一个Multi-Tenant asp.net应用程序。 我在单独的MSSQL数据库或模式之间做出决定。 但是,我无法找到有关如何动态更改数据库(理想情况下)或用户帐户的任何信息,具体取决于用户应连接到哪个帐户。 我很可能会有一个基表来定义用户应该连接到哪个数据库。 使用Linq to SQL执行此操作非常简单,但我并不是在任何地方都使用Linq,因为这些表非常动态,而且架构很容易经常更改。 这样做的最佳方法是什么? 我很高兴看到使用Schemas,但我不希望它变得非常混乱,但我还需要做一个类似的方法,但不知何故以同样的方式冒充该用户来拾取默认模式。 我知道你可以动态更改web.config连接字符串,但我已经尝试过,它实际上更改了文件内容,这也刷新了应用程序池,并导致了很多其他问题。 谢谢

在C#中捕获SQL引发错误

我在SQL过程中生成raise错误: RAISERROR(‘Already exist’,-10,-10) 但我无法在C#中使用以下代码捕获它 catch (SqlException ex) { bResult = false; if (ex.Errors[0].Number == -10) { CommonTools.vAddToLog(“bInsertNewUser”, “ManageUsers”, ex.Message); if ((savePoint != null)) savePoint.Rollback(); } } 如何捕获C#中引发的错误?

使用smo获取Sql server的数据

我正在使用Sql Server Smo通过C#应用程序创建数据库方案。 但是,我还需要更多,我还需要从每个表中获取数据,如下所示: –…………………………………. INSERT INTO Table123 (…) VALUES (….) INSERT INTO Table456 (…) VALUES (….) –…………………………………. 我怎么能这样做,是否可能? 请注意,我需要使用smo而不是数据库的* .bak等创建一个完整的脚本。

如何检查DB的存在?

我想知道是否有一种优雅的方式来检查数据库是否存在? 简而言之,如何测试db连接字符串的连接? 谢谢

如何使用Microsoft.SqlServer.Management.SqlParser中的类将T-SQL解析为AST

类Parser只有Parse返回ParseResult的方法,而且我似乎无法对ParseResult做任何事情 。 如何获取我的sql语句的抽象语法树,或者只是从sql解析元数据标记就可以了。

无法打开,因为它是版本852.此服务器支持版本782及更早版本

我正在使用Visual Studio 2017和SQL Server 2014.在将数据库文件附加到Visual Studio时,我收到此错误: “ “ 升级文件后,我使用了这个连接字符串 它在我的机器上工作正常,但在客户端机器上,弹出一个错误说 无法打开,因为它是版本852.此服务器支持版本782及更早版本 虽然我在客户端安装了SQL Server 2016本地数据库,但我仍然无法摆脱它。 我的第二个问题是:数据库文件不兼容的SQL Server的当前实例是什么?