C# //循环浏览你的结果 while(dataReader.Read()) { lst.Add(Convert.ToString(dataReader[“TutorialName”]); } } } 返回lst; }
如果您有任何问题,请回复 我觉得这个问题有点太基本了。从某种意义上说,谷歌搜索将提供一个非常全面的教程。这就像在问,如何在C#中声明C# //循环浏览你的结果 while(dataReader.Read()) { lst.Add(Convert.ToString(dataReader[“TutorialName”]); } } } 返回lst; },c#,asp.net,database,C#,Asp.net,Database,如果您有任何问题,请回复 我觉得这个问题有点太基本了。从某种意义上说,谷歌搜索将提供一个非常全面的教程。这就像在问,如何在C#中声明int变量。也许只是我。看来你在学习。。。为什么不用书来学习呢?看看msdn。。。你不能指望别人为你编写代码:你什么也学不到。我认为你不知道如何编写SQL。首先,我认为这个问题有点太基本了。从某种意义上说,谷歌搜索将提供一个非常全面的教程。这就像在问,如何在C#中声明int变量。也许只是我。看来你在学习。。。为什么不用书来学习呢?看看msdn。。。你不能指望别人为你
int
变量。也许只是我。看来你在学习。。。为什么不用书来学习呢?看看msdn。。。你不能指望别人为你编写代码:你什么也学不到。我认为你不知道如何编写SQL。首先,我认为这个问题有点太基本了。从某种意义上说,谷歌搜索将提供一个非常全面的教程。这就像在问,如何在C#中声明int
变量。也许只是我。看来你在学习。。。为什么不用书来学习呢?看看msdn。。。你不能指望别人为你编写代码:你什么也学不到。我认为你不知道如何编写SQL。首先,非常感谢你提出这个例子并解释它。我做了一些更改:将连接字符串放在类TutorialsDirDal中,并在sql查询之后添加了''cnx',以便ExecuteReader能够正常工作。我对学习一种更面向对象的方法非常感兴趣,所以我正在学习一门速成课程,学习如何正确地进行OO设计。我已经实现了业务逻辑层和数据访问层的分离,这一点我还在逐渐理解。无论如何,谢谢你的帮助,非常感谢!当我尝试使用它时,我没有cnx.ExecuteReader()选项。非常感谢您提供这个示例并解释它。我做了一些更改:将连接字符串放在类TutorialsDirDal中,并在sql查询之后添加了''cnx',以便ExecuteReader能够正常工作。我对学习一种更面向对象的方法非常感兴趣,所以我正在学习一门速成课程,学习如何正确地进行OO设计。我已经实现了业务逻辑层和数据访问层的分离,这一点我还在逐渐理解。无论如何,谢谢你的帮助,非常感谢!当我尝试使用它时,我没有cnx.ExecuteReader()选项。起初,这有点难以理解。在看过abszero的例子后,我能够更好地理解这一点。我最终会尝试这个示例,看看它的工作原理有什么不同。谢谢你的帮助。一开始这有点难理解。在看过abszero的例子后,我能够更好地理解这一点。我最终会尝试这个示例,看看它的工作原理有什么不同。谢谢你的帮助。
public class TutorialsDirDAL
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString);
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
public List<string> DisplayTutorials() //parameters? String qry?
{
//query the database table, foreach loop over the data, place it into a list?
}
}
cmd.CommandText = "SELECT * FROM ASPNET_TUTORIALS (TutorialTitle)"
+ "VALUES (@tutorialTitle)";
using (IDataReader objDataReader = objDB.ExecuteReader(objCMD))
{
while (objDataReader.Read())
{
DataBaseObject obj = new DataBaseObject();
obj = MapObjectToList(objDataReader);
ObjectList.Add(obj);
}
objDataReader.Dispose();
}
private DataBaseObject MapObjectToList(IDataReader objDataReader)
{
DataBaseObject obj = new DataBaseObject();
obj.Prop1Name = base.GetDataValue<string>(objDataReader, "Column1Name");
obj.Prop2Name = base.GetDataValue<string>(objDataReader, "Column2Name");
return obj;
}
private void GetData()
{
//The object that will physically connect to the database
using(SqlConnection cnx = new SqlConnection("<your connection string>")
{
//The SQL you want to execute
SqlCommand cmd = new SqlCommand("SELECT * FROM ASPNET_TUTORIALS");
//Open the connection to the database
cnx.Open();
//execute your command
using (IDataReader dataReader = cnx.ExecuteReader(cmd))
{
//Loop through your results
while(dataReader.Read())
{
//do whatever to the data
ListItem item = new ListItem(Convert.ToString(dataReader["TutorialName"]));
lst.Items.Add(item);
}
}
}
}
private List<string> GetData()
{
List<string> lst = new List<string>();
//The object that will physically connect to the database
using(SqlConnection cnx = new SqlConnection("<your connection string>")
{
//The SQL you want to execute
SqlCommand cmd = new SqlCommand("SELECT * FROM ASPNET_TUTORIALS");
//Open the connection to the database
cnx.Open();
//execute your command
using (IDataReader dataReader = cnx.ExecuteReader(cmd))
{
//Loop through your results
while(dataReader.Read())
{
lst.Add(Convert.ToString(dataReader["TutorialName"]));
}
}
}
return lst;
}