嘿,我是 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/