Tag: sql

将数据表传递给存储过程

我有一个用C#创建的数据表。 using (DataTable dt = new DataTable()) { dt.Columns.Add(“MetricId”, typeof(int)); dt.Columns.Add(“Descr”, typeof(string)); dt.Columns.Add(“EntryDE”, typeof(int)); foreach (DataGridViewRow row in dgv.Rows) { dt.Rows.Add(row.Cells[1].Value, row.Cells[2].Value, row.Cells[0].Value); } // TODO: pass dt } 我有一个存储过程 CREATE PROCEDURE [dbo].[Admin_Fill] — Add the parameters for the stored procedure here @MetricId INT, @Descr VARCHAR(100), @EntryDE VARCHAR(20) 我想要的是将数据表传递给这个存储过程,怎么样?

如何保护此函数免受SQL注入?

public static bool TruncateTable(string dbAlias, string tableName) { string sqlStatement = string.Format(“TRUNCATE TABLE {0}”, tableName); return ExecuteNonQuery(dbAlias, sqlStatement) > 0; }

如何使用.net实现SQL IN()的等价物

在.net(c#或vb)表达式中,您将如何实现SQL的便捷IN()function? 即(1,2,4,7)中的值 而不是: value = 1或value = 2或value = 4或value = 7

SQL OUTPUT存储过程不与ExecuteReader一起使用

在SQL 2008和C#4.0上使用存储过程时,我无法检索OUTPUT信息并从Select语句返回信息。 我不断得到“对象引用未设置为对象的实例”。 当我执行ExecuteScalar()时,我获取行,但不是数据。 在那里找到了几个例子,它们看起来像我正在做的事情,所以我想我在我面前缺少一些简单的东西。 谢谢。 存储过程 USE [PhoneDb] GO /****** Object: StoredProcedure [dbo].[TestPagingProcedure] Script Date: 06/16/2011 08:39:03 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TestPagingProcedure] — Add the parameters for the stored procedure here @startRowIndex int, @maximumRows int, @totalRows int OUTPUT AS BEGIN — SET NOCOUNT ON added to prevent […]

通过Entity Framework将表值类型传递给SQL Server存储过程

我在SQL Server中创建了一个用户定义的表类型: CREATE TYPE dbo.TestType AS TABLE ( ColumnA int, ColumnB nvarchar(500) ) 我正在使用存储过程将记录插入数据库: create procedure [dbo].[sp_Test_CustomType] @testing TestType READONLY as insert into [dbo].[myTable] select ColumnA, ColumnB from @testing 我想使用EF来执行此存储过程,但问题是:如何将用户定义的表传递给存储过程? 我尝试将存储过程添加到模型中,但我无法在更新的上下文中找到所需的存储过程。 我要做的是对表执行批量插入,这是我目前使用的方法: List itemToInsertToDB = //fetchItems; foreach(items i in itemToInsertToDB) { context.sp_InsertToTable(i.ColumnA, i.ColumnB) } 目前,我使用foreach循环遍历列表以将项目插入到DB,但如果列表中有很多项目,那么就会出现性能问题,因此,我正在考虑将列表传递给存储过程并在里面插入。 那么如何解决这个问题呢? 或者有更好的方法吗?

如何使用executeReader()方法检索一个单元格的值

我需要执行以下命令并将结果传递给标签。 我不知道怎么能用Reader做到这一点。 有人可以帮个忙吗? String sql = “SELECT * FROM learer WHERE learer.id = ” + index; SqlCommand cmd = new SqlCommand(sql,conn); learerLabel.Text = (String) cmd.ExecuteReader(); 正如您所看到的,我创建了SQL语句并执行它,但它不起作用。 为什么? 控制台说: 不能隐式SqlDataReader到String … 如何以Stringforms获得所需的结果,以便标签可以正确显示。

我如何在c#console应用程序中执行CMD命令?

在Windows上的cmd创建一个mysqldump非常简单,只需: 打开cmd并输入类型mysqldump uroot ppassword database> c:/data.sql 这会生成所需数据库的SQL转储文件。 我正在编写一个控制台应用程序,所以我可以运行这个命令: -uroot -ppass databse > location\data.sql 我尝试了以下代码无济于事: System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo(“cmd”, “/c ” + cmd); 我如何启动cmd进程并成功发送命令?

C#SQLServer检索结果并以.csv格式放置

我看了一下网站和谷歌,但我似乎无法找到一个很好的解决方案,我正在尝试做什么。 基本上,我有一个客户端服务器应用程序(C#),我向服务器发送一个SQL select语句(连接到SQL Server 2008),并希望以CSV方式将结果返回给客户端。 到目前为止,我有以下内容: if (sqlDataReader.HasRows) { while(sqlDataReader.Read()) { //not really sure what to put here and if the while should be there! } } 不幸的是,我真的很想将C#与SQL连接起来。 我需要有关如何简单地将结果放在csv格式的字符串中的任何提示。 列和字段可能不同,所以我不能使用某些东西的方法,就像我在一些网站上看到的那样。 我不确定我是否可以理解了! 我非常感谢有关如何解决这个问题的任何提示/要点!

如何在Sql server中确定公共假期?

我有一个用c#编写的应用程序,不能在公共假期或周末运行。 我已经环顾四周,并没有找到任何地方(官方)为下一个50年提供所有公共假期。 如果我能得到这些,我只需将它们批量插入我的sql server Holidays表并使用它。 但是,我无法在任何地方找到这些数据。 有谁知道Sql server是否支持公共假期或某种算法来解决它们? 或者任何人都有官方我可以批量插入。 谢谢。 编辑:为了论证,让我们假设我们想在英格兰公共假期!

在Sql Server连接字符串中使用Encrypt = yes – >“provider:SSL Provider,error:0 – 证书的CN名称与传递的值不匹配。”

我在SQL Server连接字符串中使用Encrypt=yes ,因为我需要加密TCPIP流量,但在打开连接时出现错误: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 – The certificate’s CN name does not match the passed value.) 有任何建议如何解决这个问题? 我假设我的服务器之间需要某种证书关系,但不知道从哪里开始。 我需要两个连接,一个连接到SQL 2000服务器,一个连接到2005服务器。