【发布时间】:2013-02-04 22:09:19
【问题描述】:
我只想遍历数据库中的结果。这就是我现在要做的所有事情!这是我尝试调试时遇到的错误:
发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 定位服务器/实例时出错 指定)
它指向这条线:
// fill dataset into named table
myAdapter.Fill(myDataSet, "Sent");
这是我的全部代码:
// get connection strings from app.config
string conString = ConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;
// connection object
SqlConnection myConn = new SqlConnection(conString);
// create adapter
SqlDataAdapter myAdapter = new SqlDataAdapter("select * from `Sent`", myConn);
// create command builder
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
// create dataset
DataSet myDataSet = new DataSet();
// fill dataset into named table
myAdapter.Fill(myDataSet, "Sent");
// query using linq
IEnumerable<DataRow> results
= from row in myDataSet.Tables["Sent"].AsEnumerable()
select row;
// enumerate through results
foreach (DataRow row in results)
{
MessageBox.Show(row.ToString());
}
我能做些什么来解决这个问题?另外,如果有人有更简单的方法在 C# 中使用数据库,我愿意接受你的想法,因为这对我来说很荒谬(在 C# 中操作数据库)。感谢您的帮助。
2012 年 6 月 29 日更新:
以下代码适用于我:
// get connection strings from app.config
string conString = ConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;
// connection object
SqlCeConnection myConn = new SqlCeConnection(conString);
// create adapter
SqlCeDataAdapter myAdapter = new SqlCeDataAdapter("select * from [Sent]", myConn);
// create command builder
SqlCeCommandBuilder myCommandBuilder = new SqlCeCommandBuilder(myAdapter);
// create dataset
DataSet myDataSet = new DataSet();
// fill dataset into named table
myAdapter.Fill(myDataSet, "Sent");
// create new row
DataRow newRow = myDataSet.Tables["Sent"].NewRow();
// set field vals
newRow["sendTo"] = sendTo;
newRow["subject"] = subject;
newRow["message"] = message;
// add new row to table
myDataSet.Tables["Sent"].Rows.Add(newRow);
// update database
myAdapter.UpdateCommand = myCommandBuilder.GetUpdateCommand();
int updatedRows = myAdapter.Update(myDataSet, "Sent");
//MessageBox.Show("There were "+updatedRows.ToString()+" updated rows");
// close connection
myConn.Close();
【问题讨论】:
-
您需要检查的第一件事是您的连接字符串是否正常以及它是否指向正确的服务器/数据库。
-
第一步:阅读信息并采取行动。第二步:谷歌消息。
-
我同意@usr。该错误消息非常不言自明,即使不是出于某种原因,Google 的几秒钟内也会很快找到答案。问题在于您的连接字符串或 SQL 服务器本身。这个问题不属于这里。在这里提出问题之前,您应该至少做一些粗略的研究。
-
数据库服务器工作正常吗?可以在 Sql Server Management studio 中连接吗?
标签: c# sql-server