从SQL Server数据库中获取数据集
我是C#的新手,我需要从我制作的虚拟数据库获取数据集。我习惯于在objective-c中编码,并使用php/mysql来处理数据插入/提取......从SQL Server数据库中获取数据集
谁能告诉我如何从SQL Server数据库获取整个数据表?或者至少将我指向一个可靠的事实来源?
你必须使用MSSQL的供应商 - SqlDataAdapter class。
string [email protected]"put_here_connection_string";
SqlDataAdapter adp=new SqlDataAdapter("select * from tableName",CnStr);
DataSet ds=new DataSet();
adp.Fill(ds,"TableName");
这应该让你开始:
这里是一个视频,你在找什么,但不是最新的: http://www.asp.net/web-forms/videos/how-do-i/how-do-i-create-data-driven-web-sites
也许你应该看看入门部分: http://www.asp.net/web-forms/videos
另一种选择是ASP.NET MVC,如果你有一些MVC内部(Rails,PHP等) http://www.asp.net/mvc
这是通过申请一个完整的步行路程:
http://www.asp.net/mvc/tutorials/mvc-music-store
我会建议看MVC和音乐商店例如 HTH
有很多方法可以做到这一点;看教程喜欢:
一个典型的代码示例只返回一个数据表可能看起来像:
public static DataTable GetTable(string tableName, string connectionString)
{
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
using (SqlCommand myCommand = new SqlCommand(tableName))
{
myCommand.Connection = myConnection;
myCommand.CommandType = CommandType.TableDirect;
using (SqlDataReader reader = myCommand.ExecuteReader())
{
DataTable table = new DataTable();
table.Load(reader);
return table;
}
}
}
}
注意使用using关键字。这将确保您在完成连接时处理连接。
有一些示例代码用于获取DataSet here。
你也可以改变你如何执行你的命令;您可以使用myCommand.CommandType = CommandType.Text
并将CommandString设置为"SELECT * FROM myTable"
。您也可以使用CommandType.StoredProcedure
并使用存储过程的名称。
您可能还想使用众多可用解决方案之一来抽象所有这些。微软有Application Data blocks,Entity Framework,还有很多其他的选择。
嗯,我添加的表名时抛出是一个异常说,它需要一个存储过程... – user559142 2012-02-23 12:02:32
您需要将SelectCommand上的命令类型设置为CommandType.Table – dash 2012-02-23 13:02:56
@dash:感谢您的update.Updated发布。 – Maheep 2012-02-24 04:16:07