我在Visual Studio Express 2012中使用C#.我专门使用桌面应用程序.作为数据库,我使用MySQL数据库和MySQL之间的连接工作正常.我的疑问是关于搜索并返回结果.在我见过的所有例子中,最常见的是在我的类中创建一个方法...
我在Visual Studio Express 2012中使用C#.我专门使用桌面应用程序.
作为数据库,我使用MySQL
数据库和MySQL之间的连接工作正常.
我的疑问是关于搜索并返回结果.
在我见过的所有例子中,最常见的是在我的类中创建一个方法MySQL输入代码hereconnection,它将返回一个包含搜索结果的列表.我真的不知道这在概念上是否更正确,但似乎非常可以接受.
我设法做了一个搜索,从我的桌子返回所有客户.但我的大问题是:如何制作这种通用方法?
例如
我的表单有一个触发click事件的按钮:
dbConnect = new DBConnect();
dbConnect.OpenConnection();
private List<Clients> listSQLQuery;
listSQLQuery = dbConnect.Select("select * from clients");
datagridview.DataSource = listSQLQuery;
我上面使用的方法dboConnect.Select():
public List<Clients> Select(string query)
{
//Create a list to store the result
List<Clients> list = new List<Clients>();
Clients clients = new Clients();
//Open connection
if (this.OpenConnection() == true)
{
//Create Command
MySqlCommand cmd = new MySqlCommand(query, connection);
//Create a data reader and Execute the command
MySqlDataReader dataReader = cmd.ExecuteReader();
//Read the data and store them in the list
while (dataReader.Read())
{
clients.Id = dataReader["Id"].ToString();
clients.Name = dataReader["Name"].ToString();
list.Add(cliente);
}
//close Data Reader
dataReader.Close();
//close Connection
this.CloseConnection();
//return list to be displayed
return list;
}
else
{
return list;
}
}
最后,我的班级客户
public class Clients
{
public string Id { get; set; }
public string Name { get; set; }
}
这一切都有效,但非常特定于客户端的查询.
如果现在我打电话列表SQLQuery = dbConnect.Select(“select * from products”)这个方法将不起作用,因为它是使用返回列表的客户端而不是产品列表构建的.
我不知道我的问题是否可以清楚,但我希望我可以打电话,不用担心它会成为客户,产品还是房间.
像这样的东西:
listSQLQuery.dbConnect.Select("select * from clients");
listSQLQuery.dbConnect.Select("select * from products");
listSQLQuery.dbConnect.Select("select * from rooms");
有没有办法获得泛型列表返回,而不用担心listQuerySQL的类型?我只想将此列表绑定到datagridview.
我是C#的新手,所以我对LINQ,Entity Framework一无所知……
解决方法:
我同意其他评论员,如果你学习EF和LINQ它会让你的生活更轻松.
Entity Framework Video
Introduction to LINQ Video
Introduction to LINQ Queries Webpage
Lots of LINQ examples C#
就您的解决方案而言,您可以制作3种不同的选择方法:SelectClients,SelectProduct和SelectRooms.您需要更改一些代码,以便它只打开和关闭一次连接.
本文标题为:如何创建通用列表并使用c#中的Select SQL Query填充
基础教程推荐
- 在Visual Studio online上找不到c# – Microsoft.SqlServer.Types版本10或更高版本 2023-11-23
- P/Invoke之C#调用动态链接库DLL示例详解 2023-07-18
- 记一次.Net Core通过GDI+在CentOS 7(Docker)环境中绘图报错The type initializer for 'Gdip' threw an excepti 2023-09-27
- RSA密钥--JAVA和C#的区别及联系 2023-05-06
- c# – 在Windows 10上运行dot net 3.5应用程序 2023-09-20
- C#高效比较两个DataTable数据差异化的方法实现 2023-06-08
- 深入分析c# 封装和访问修饰符 2023-03-04
- C# 如何设置label(标签)控件的背景颜色为透明 2023-03-14
- 在WPF中使用多线程更新UI 2023-06-20
- C#并行编程之Task同步机制 2023-06-05