Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过ADO.NET_C#_Sql_Sql Server 2008_Ado.net - Fatal编程技术网

C# 如何通过ADO.NET

C# 如何通过ADO.NET,c#,sql,sql-server-2008,ado.net,C#,Sql,Sql Server 2008,Ado.net,我正在使用SQL Server 2008和C ADO.NET来完成这项工作 我想使用存储过程将这些数据插入表SAVEDATA 多谢各位 Srosh您只需编写一条INSERT语句,然后从传入的表中选择数据: CREATE PROCEDURE [dbo].[spSave] (@theDATA As [dbo].[TVP] Readonly) AS BEGIN INSERT INTO dbo.SaveResponse(ID, myQuestion, PersonWhoRespons

我正在使用SQL Server 2008和C ADO.NET来完成这项工作

我想使用存储过程将这些数据插入表SAVEDATA

多谢各位

Srosh

您只需编写一条INSERT语句,然后从传入的表中选择数据:

CREATE PROCEDURE [dbo].[spSave] (@theDATA As [dbo].[TVP] Readonly)
AS
BEGIN      
    INSERT INTO dbo.SaveResponse(ID, myQuestion, PersonWhoResponses,
                                 Response, [User], [DateTime])

       SELECT 
          ID, myQuestion, PersonWhoResponses,
          Response, [User], [DateTime]
       FROM
          @theDATA
END

我怎么会连一个问题都没问就得到否定呢?这还不够清楚吗?顺便说一句:使用User和DateTime作为列名是非常糟糕的设计-这些都是保留字-不要自己使用它们作为列名或表名!。Marc,我现在将更改名称,感谢您的建议,您建议我如何在ADO.NET C端编写此代码?如何创建具有不同数据长度的表?有什么想法吗?Thanks@SroshSharar:在ADO.NET端,您需要创建一个DataTable,该DataTable包含与表类型定义匹配的正确数量的DataColumns,然后您需要用数据填充该DataTable并将其传递给存储过程。我已解决此问题。谢谢你的帮助,我自己解决了。非常感谢您的回答。@数据是存储过程中的一个输入参数,并且标记为只读,您不能将数据行添加到该变量中!你需要从那个变量中读取它们。我也同意,为我的错误感到抱歉。也许你可以帮我处理这个Norbert,我有另一个名为User的表。如果我想根据此表中的ID从列USERNAME中获取用户名,我该怎么做?这很简单。在类似SELECT*FROM的查询中,您可以使用WHERE来获取过滤记录。在这个示例中,它将是:从dbo中选择[USERNAME],其中[User]的[ID]=我认为我没有足够清楚地解释它。假设我想在我的SaveResponse表中有另一列,并且我想基于此用户定义数据类型中的ID获取该信息。。。从名为UserTable的表和列Username。。我该怎么做?
CREATE PROCEDURE [dbo].[spSave] (@theDATA As [dbo].[TVP] Readonly)
AS
BEGIN      
    INSERT INTO dbo.SaveResponse(ID, myQuestion, PersonWhoResponses,
                                 Response, [User], [DateTime])

       SELECT 
          ID, myQuestion, PersonWhoResponses,
          Response, [User], [DateTime]
       FROM
          @theDATA
END