简体   繁体   English

在 C# 中,如何使用 POST 方法将数据从 SQL Server 发送到 HTTP 请求?

[英]In C# how can I send data from SQL Server to a HTTP request using the POST method?

I have a Windows application and need to send some data to a remote server.我有一个 Windows 应用程序,需要向远程服务器发送一些数据。 I send the data but it sends only one value, so I need to read a table from SQL Server and send all values in that table at once.我发送数据但它只发送一个值,所以我需要从 SQL Server 读取一个表并一次发送该表中的所有值。

The code to send data:发送数据的代码:

 private void SaveUser()
 {
        CN.conn = CN.connection;

        CN.cmd = new SqlCommand("SELECT [FULLNAME]  FROM STUDENTS", CN.conn);

        CN.conn.Close();
        CN.conn.Open();

        CN.dr = CN.cmd.ExecuteReader();

        while (CN.dr.Read())
        {
            try
            {    
                 using (var wb = new WebClient())
                 {
                     var data = new NameValueCollection();

                     data["latitude"] = CN.dr[0].ToString();

                     var response = wb.UploadValues("https://urbanwaste.000webhostapp.com/user/pickup.php", "POST", data);
                     string responseInString = Encoding.UTF8.GetString(response);
                 }
            }
            catch (Exception ex)
            {                  
                MessageBox.Show(ex.Message);
            }

            MessageBox.Show("Successfully");
        }

        CN.conn.Close();
}

My database table:我的数据库表:

我需要发送的数据库表

远程数据库服务器

Thank you谢谢

Something like this - I did not build & run it so apologies if it isn't perfect but hopefully it will point you in the right direction像这样的东西 - 我没有构建和运行它,如果它不完美,我很抱歉,但希望它会为你指明正确的方向

using Newtonsoft.Json;
using System.Data;
using System.Data.SqlClient;
using System.Threading.Tasks;

private class DataToSendModel
{
    public string FullName { get; set; }
    public string OtherProperty1 { get; set; }
    public string OtherProperty2 { get; set; }
}

// async as I have used .NET Core and it is best practice, but you can remove async from everywhere if you want (I would suggest not)
public async Task SaveUser()
{
    // Always wrap in a `using` statement to endsure cleanup of connections and resources
    using (var conn = new SqlConnection(config.GetConnectionString("SomeConnectionStringConfigName")))
    using (var cmd = new SqlCommand())
    {
        cmd.Connection = conn;
        cmd.CommandType = CommandType.Text;
        // Consider a stored procedure for this
        cmd.CommandText = "SELECT FullName, OtherColumn1, OtherColumn2 FROM Students";

        conn.Open();

        using (var reader = await cmd.ExecuteReaderAsync())
            while (reader.Read())
            {
                var dataToSend = new DataToSendModel
                {
                    FullName = reader["FullName"].ToString(),
                    OtherProperty1 = reader["OtherColumn1"].ToString(),
                    OtherProperty2 = reader["OtherColumn2"].ToString()
                };

                // Don't use this, use HttpClient https://blog.jayway.com/2012/03/13/httpclient-makes-get-and-post-very-simple/
                //using (var wb = new WebClient())
                using (var httpClient = new HttpClient())
                {
                    var response = await httpClient.PostAsync("https://urbanwaste.000webhostapp.com/user/pickup.ph", new StringContent(JsonConvert.SerializeObject(dataToSend)));

                    response.EnsureSuccessStatusCode();

                    string content = await response.Content.ReadAsStringAsync();
                }
            }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从C#Asp.Net方法发送HTTP Post? - How can I send a HTTP Post from a C# Asp.Net method? 如何从C#服务器中的POST(或其他HTTP)请求访问参数? - How can I access parameters from a POST (or other HTTP) request in a C# server? 如何在C#中使用POST发出HTTP请求并发送一些xml数据 - How can I make an HTTP request and send some xml data using POSTin c# 我可以从一个 SQL 数据库中获取数据,然后使用 MVC C# 将该数据发布到不同服务器上的另一个 SQL 数据库中吗? - Can I get data from one SQL database and then post that data on another SQL database on a diferent server using MVC C# 在 C# 中使用 POST 方法和使用 WebClient 的请求正文从服务器接收数据 - Receive data from server using POST method and with a request body using WebClient in C# 如何在 C# 中发送原始 HTTP 请求? - How can I send a raw HTTP request in C#? 如何向 Discord Webhooks C# 发送 POST 请求 - How can I send a POST request to Discord Webhooks C# 如何在C#中使用RestSharp POST方法发送JSON数据 - How to send json Data using RestSharp POST Method in c# 如何使用带有C#的HTTP POST请求登录到linkedin - How can i login to linkedin using HTTP POST Request with C# 如何使用“no-cors”将 JavaScript HTTP post 请求代码更改为 C#? - How can I change JavaScript HTTP post request code to C#, using 'no-cors'?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM