Tag: sql server 2008

无法将SQL数据读取器数据加载到DataTable中

string query = “select * from cfo_daily_trans_hist”; try { using (SqlConnection connection = new SqlConnection( cnnString)) { SqlCommand command = new SqlCommand(query); command.Connection = connection; connection.Open(); var result = command.ExecuteReader(); DataTable datatable = new DataTable(); datatable.Load(result); connection.Close(); } } 因此var result是通过ExecuteReader();创建的ExecuteReader(); 和HasRows是true ,它显示正确的字段数量。 但是,我从它创建的DataTable是空的。 我究竟做错了什么? 我99%肯定它正在获取数据,但我不知道如何通过SqlDataReader对象找到它以确保。 谢谢。

ScriptingOptions sql smo不支持脚本数据

我正在使用c#代码生成sql数据库脚本。 以下代码适用于create table但是当我尝试使用scriptOptions.ScriptData = true; 它抛出以下exception。 Microsoft.SqlServer.Smo.dll中发生未处理的“Microsoft.SqlServer.Management.Smo.FailedOperationException”类型的exceptionexception 附加信息:此方法不支持脚本数据。 码 public static string ScriptDatabase(string dbConnectionString, string databaseName) { SqlConnection conn = new SqlConnection(dbConnectionString); ServerConnection serverConn = new ServerConnection(conn); var server = new Server(serverConn); var database = server.Databases[databaseName]; var scripter = new Scripter(server); // I tried this code also // scripter.Options.ScriptData = true; ScriptingOptions scriptOptions = new […]

SqlException:System.Data.SqlClient.SqlException(0x80131904)

我在C#中编写了一个代码,它在我的计算机上运行得很好,使用Windows 7(MS SQL Server 2008)但在Windows Vista(MS SQL Server 2005)中却没有。 我无法在第二台计算机上更改系统;)我正在使用Visual Studio 2010。 所以这是代码的一部分,来自我的类​​“obSQL”: private SqlConnection connection; public obSQL(string user, string pass, string instance, string dbdir) //sql server authentication { connection = new SqlConnection(); connection.ConnectionString = “user id=” + user + “;” + “password=” + pass + “;Data Source=” + instance + “;” + “Trusted_Connection=no;” + […]

我在哪里可以找到“Microsoft.SqlServer.BatchParser.dll”?

可能重复: 找不到microsoft.sqlserver.batchparser.dll 我安装了Microsoft SQL Server 2008 R2。 我想在C#中包含Microsoft.SqlServer.BatchParser.dll作为Assebly。 但是我找不到那个dll。 如果我去我的GAC文件夹,Assebly就在那里: 但是VS2008中的引用对话框不会显示给我。 我在哪里可以找到或如何获得该DLL?

将SQL 2008 DB R2还原为SQL2008(无r2)

在我的开发者PC上安装了SQL 2008 R2 在内部服务器上安装了SQL 2008 R2(这里托管了一些应用程序) 在外部的第三方托管公司使用SQL 2008(没有r2)。 所以当我在我的开发者PC上创建数据库时,我需要在外部托管服务器上恢复,这是SQL 2008(没有r2)….但是我得到了一个构建版本错误……它说SQL2008 r2有更高的内部版本号所以我无法在w / o r2服务器上恢复。 我想在没有R2服务器上创建数据库并在我的localhost上恢复并进行更改并恢复到w / o r2服务器,但它说同样的错误……内部版本号已更改。 我以为我可以在我的开发者电脑上删除r2版本并使用SQL 2008 w / o r2,但问题仍然是我无法将数据库从内部服务器恢复到我的开发者电脑…… 🙁 所以简而言之:如果我想在SQL2008 R2和SQL2008之间恢复/备份数据库,如何处理这个(我需要数据库的数据?任何属性分配给数据库或其他什么? 是否有一个程序可以使用SQL2008 R2 DB作为SQL2008 DB? 我无法触及服务器上的SQL 2008版本…… 请指教?

检索SQL Server表中的特定行范围

我有一个像(OrderID [uniqueidentifier],OrderDesciption [nvarchar])的表结构,我正在使用ADO.Net + C#+ VSTS 2008 + SQL Server 2008.表很大,我想让客户给我两个输入,开始范围索引和结束范围索引,我将返回该范围内的特定行(在开始范围索引和结束范围索引之间)。 例如,如果客户端输入50,100,我想要返回第50行直到第100行。 乔治,提前谢谢

日期范围落在LINQ查询中的两个日期之间

我正在尝试编写一个select查询,该查询返回输入日期范围介于LINQ查询中两个日期字段之间的记录。 我的意见是: date1 – 开始日期 date2 – 结束日期 我的数据库字段是 AppointmentStart AppointmentEnd 此外,我还想确保14:00-15:00的输入不会返回15:00-16:00的值。 return (from t1 in db.Appointments where (t1.AppointmentStart = date1) 如果有人可以帮助我,我会很感激。

在c#中检索SQL Server输出变量

我有一个存储过程: ALTER PROCEDURE [dbo].[pr_Tbl_Test_Insert] @guidid uniqueidentifier output, @sname nvarchar(50) AS — INSERT a new row in the table. INSERT [dbo].[Tbl_Test] ( [id], [name] ) VALUES ( ISNULl(@guidid, (newid())), @sname ) 我需要C#中的id并将其output到c#中: cmd.Parameters.AddWithValue(“@guidid”,_id);//_id is SqlGuid cmd.Parameters.AddWithValue(“@sname”, “mehdi”); cmd.ExecuteNonQuery(); MessageBox.Show(_id.ToString()); 但是消息框显示空值! 我怎样才能归还id? 我改成了: ALTER PROCEDURE [dbo].[pr_Tbl_Test_Insert] @guidid uniqueidentifier output, @sname nvarchar(50) AS DECLARE @NewID UNIQUEIDENTIFIER SET @NewID […]

如何使用DataContext.ExecuteCommand并获取执行的存储过程返回值?

在ac #project中,我调用存储过程如下: System.Data.Linq.DataContext dataContext = MembershipContext.GetContext(connectionString); int returnValue = dataContext.ExecuteCommand(“EXEC usp_SomeProcedure {0}, {1}, {2}”, param1, param2, param3); 但是,ExecuteCommand返回受影响的行数,而不是我的存储过程返回值。 获得这个价值的最简单方法是什么? 我需要这个,因为SP在成功时返回0,如果发生错误则返回正的int值。 现在,存储过程使用RETURN输出其返回值。 但是,我可以为SELECT更改此选项,或者如果需要,我也可以使用输出参数。

如何在C#中调用SQL函数?

我在SQL中创建了一个函数,现在我需要在我的C#应用​​程序中使用该函数。 我尝试使用这样的东西,但似乎我做错了,因为我得到了: Must declare the scalar value ‘@2064734117’ …当我将2064734117作为第一个参数并将1作为第二个参数时。 这是我正在谈论的代码: SqlConnection con = new SqlConnection(clsDb.connectionString); string query = string.Format(“select Function1(@{0},@{1}) “, int.Parse(e.CurrentRow.Cells[“CodeMeli”].Value.ToString()),1); con.Open(); SqlCommand cmd = new SqlCommand(query,con); SqlDataAdapter READER = new SqlDataAdapter(); READER.SelectCommand = cmd; DataTable table = new DataTable(); READER.Fill(table); radGridView1.DataSource = table; con.Close(); 我的函数接受两个整数参数并返回一个表。 我在Visual Studio中检查了它并且它有效,但我无法在我的应用程序中使用它。 这是我的function声明: ALTER FUNCTION dbo.Function1 ( /* […]