gpt4 book ai didi

c# - 将字符串数组的值插入 SQL 数据库

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:44 26 4
gpt4 key购买 nike

我有一个 Web 服务 (.ASMX) 代码,它将一个字符串数组作为参数,然后将每个单独的值插入到数据库中

例如,假设我有这样的数组:

            String arr[]={"john","annie"};

现在我想将“john”和“annie”放入我的数据库中的一个列中

我已经为它实现了一个代码,但它不工作并且没有插入值。还有什么方法可以在我的浏览器中的本地主机上测试我的 Web 服务应用程序。

这是网络服务代码:

      public class Service1 : System.Web.Services.WebService
{
[WebMethod]

public String getnames(String[] values)
{

try
{

using (SqlConnection myConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=student;User ID=sa;Password=123"))
{
int count = 1;
int rows = 0;

myConnection.Open();
foreach (string student in arr)
{
count++;
using (SqlCommand myCommand = new SqlCommand())
{
myCommand.Connection = myConnection;
myCommand.CommandText = "insert into record values(@pCount, @pStudent)";
SqlParameter param = myCommand.CreateParameter();
param.ParameterName = "@pCount";
param.Value = count;
myCommand.Parameters.Add(param);

param = myCommand.CreateParameter();
param.ParameterName = "@pSudent";
param.Value = student;

rows = myCommand.ExecuteNonQuery();
}
}
}
}

catch (Exception ex)
{
Console.WriteLine(ex.Message);
return "an error occured";
}


return "success";
}
}
}

最佳答案

您可以通过将 asmx 作为起始页并单击“运行”来调试您的服务。如果您接受参数,您应该能够在文本框中填写一个值。

我会做不同的事情我会创建一个存储过程来处理看起来像这样的工作代码假定一个分隔字符串所以它不是一个数组场景..但它的代码很棒..

create Proc [dbo].[InsertINtoRecords] (@sep VARCHAR(32), @s VARCHAR(MAX))
AS

BEGIN
Declare @t TABLE
(
val VARCHAR(MAX)
)


DECLARE @xml XML
SET @XML = N'<root><r>' + REPLACE(@s, @sep, '</r><r>') + '</r></root>'

INSERT INTO @t(val)
SELECT r.value('.','VARCHAR(100)') as Item
FROM @xml.nodes('//root/r') AS RECORDS(r)

insert into record(Count, Student) Select ROW_NUMBER() OVER (ORDER BY val) AS Count, Val

END

那么你的代码只需要这样做

                Names = "Johny,Anne,sally"
myCommand.Connection = myConnection;
myCommand.CommandText = "InsertINtoRecords ',', @Names";
rows = myCommand.ExecuteNonQuery();

祝你好运

关于c# - 将字符串数组的值插入 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8081862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com