C# 通过用户控制连接mysql

标签 c# mysql

嘿,我是 C# 新手。

我的问题是,是否可以连接到数据库(通过 webusercontrol)。

我正在尝试列出值来自数据集的列表

喜欢

<div>
    <ul>
        <li><a href="#">This value comes from database tabel</a></li>
        <li><a href="#">This 1 too</a></li>
        <li><a href="#">and this 1 too</a></li>
   </ul>
</div>

最好的方法是什么?

用户控制?或者其他方式?

最佳答案

所以基本上,如果您有一个活跃的数据库,您应该首先从中获取数据。

private static string connString = "server=127.0.0.1; userid=yourUserHere; password=youPasswordHere; database=yourDatabaseNameHere";
public static DataTable SelectData(MySqlCommand command)
        {
            try
            {
                DataTable dataTable = new DataTable();

                using (MySqlConnection connection = new MySqlConnection())
                {
                    connection.ConnectionString = connString;
                    connection.Open();

                    command.Connection = connection;
                    MySqlDataReader reader = command.ExecuteReader();
                    dataTable.Load(reader);

                    return dataTable;
                }
            }
            catch (MySqlException e)
            {
                Console.Write(e.Message);
                return null;
            }
        }

然后在上下文中您需要使用 SQL 行调用此方法。您应该始终使用参数化查询来最大限度地降低 SQL 注入(inject)等风险。此外,您还需要将数据表中的信息转换为列表(如果这就是您想要的)。像这样:

public List<string> dataTableToString(DataTable table)
        {
            List<string> Labels = new List<string>();
            foreach (DataRow row in table.Rows)
            {
                //index of row you want returned in the list
                Labels.Add(row[2].tostring())
            }
         return labels
         }
public List<string> whateverInformationYouWantHere(string labelID,)
        {
            MySqlCommand command = new MySqlCommand();
            command.CommandText = "SELECT * FROM LABELS WHERE LabelID = @labelID";
            command.Parameters.AddWithValue("labelID", labelID);
            return dataTableToString(Databasehandler.SelectData(command));
        }

然后您所要做的就是创建一个 foreach 循环并将所有标签项插入到您的 UL 中。 (如果您有疑问,请随时提问)。

关于C# 通过用户控制连接mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43468042/

相关文章:

c# - ASP.net 在每次页面加载时抛出错误(Base-64 字符数组的长度无效)

php - Symfony2 - 访问被拒绝(用户未完全验证)

php - 如何在 php mysql 中使用并发用户生成下一个增量数?

java jdbc 设计模式 : handle many inserts

mysql - 在查询中实现分页的最佳方式

c# - 如何从.NET Core API调用Azure门户中的函数App

c# - 匿名对象的 Entity Framework ObjectMaterialized

c# - 数据表行删除问题

c# - Xunit 超时参数 : minimal working example

mysql如果存在则插入到表中