c# - 使用 C# 构建的 Web 服务,用于从 mySQL 数据库中检索数据

标签 c# mysql web-services

我正在尝试在 .NET 中构建 Web 服务,它将从 mySQL 数据库中检索数据。此 Web 服务稍后将与显示此数据的窗口窗体相结合。

到目前为止,我已经准备好数据库,数据库和 Web 服务之间的连接已经建立,表单也已准备就绪。

但是,我无法从表本身检索特定的信息位。谁能帮我弄清楚我的下一步应该是什么?我在这个问题上搜索了很多,但我仍然找不到关于这个问题的好教程...如果您有任何想法,那么您能否也发布链接?提前致谢!

额外信息:假设有一个名为“testdata”的示例表,其中包含三列(“id”、“name”、“age”)。如何提取姓名和年龄并将其显示在表单上?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace WebService2
{

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {



        private void connectoToMySql()
        {

            string connString = "SERVER=localhost" + ";" +
                "DATABASE=testdatabase;" +
                "UID=root;" +
                "PASSWORD=password;";

            MySqlConnection cnMySQL = new MySqlConnection(connString);

            MySqlCommand cmdMySQL = cnMySQL.CreateCommand();

            MySqlDataReader reader;

            cmdMySQL.CommandText = "select * from testdata";

            cnMySQL.Open();

            reader = cmdMySQL.ExecuteReader();


           //-----------------------------------------------------------
           // This is the part where I should be able to retrieve the data from the database
           //-----------------------------------------------------------               


            cnMySQL.Close();
        }


    }
}

最佳答案

创建一个公共(public)方法,用 WebMethodAttribute 标记,并返回一个 DataTable(如果您的消费者是 .net 客户端)。让消费者调用该方法并对 DataTable 做任何您想做的事。

[System.Web.Services.WebMethod]
public DataTable connectoToMySql()
{
    string connString = "SERVER=localhost" + ";" +
        "DATABASE=testdatabase;" +
        "UID=root;" +
        "PASSWORD=password;";

    MySqlConnection cnMySQL = new MySqlConnection(connString);

    MySqlCommand cmdMySQL = cnMySQL.CreateCommand();

    MySqlDataReader reader;

    cmdMySQL.CommandText = "select * from testdata";

    cnMySQL.Open();

    reader = cmdMySQL.ExecuteReader();

    DataTable dt = new DataTable();
    dt.Load(reader);


    cnMySQL.Close();

    return dt;
} 

关于c# - 使用 C# 构建的 Web 服务,用于从 mySQL 数据库中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8362835/

相关文章:

C#,动态创建图片框?

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

mysql - 有没有一种简单的方法可以将 MySQL 数据转换为 Title Case?

javascript - 从不同域访问 bugzilla Web 服务的好方法是什么?

java - 在 CloudBees 上部署 NetBeans JAXWS

c# - NSubstitute 为对象返回 Null

c# - 在运行时使用反射检查给定事件是否被订阅

c# - Visual Studio 将类的所有属性转储到编辑器中

php - 如何解决这个模棱两可的问题?

c# - 从 ASP.NET 4.5 应用程序使用需要 WS-Security 的 Web 服务