新手学C#遇到点问题。大家帮帮忙

被遗忘的帕格纳 2014-09-08 12:43:04
DataSet ds = new DataSet();
string sql = string.Format("select ID,NAME from book where NAME={0}", textBox1.Text.Trim());
SqlDataAdapter data = new SqlDataAdapter(sql, "data source=ZXY-PC,initial catalog=book;integrated security=true");
data.Fill(ds,"book" );//运行到这一步的时候就卡主了
dataGridView1.DataSource = ds.Tables["book"];
...全文
380 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
gwaihj 2014-09-11
  • 打赏
  • 举报
回复
直接给你封装个GetDataTable直接传SQL语句进去就OK了, public DataTable GetDataTable(string sql) { try { SqlConnection conn = new SqlConnection(strCon); //1.创建连接 DataSet ds = new DataSet();//2.创建空DataSet SqlDataAdapter sda = new SqlDataAdapter(sql, conn); //3.创建数据适配器 sda.Fill(ds);//4.将查询的数据填充到DataSet中 return ds.Tables[0]; } catch (SqlException ex) { throw new Exception(ex.Message); } }
我叫小菜菜 2014-09-10
  • 打赏
  • 举报
回复
引用 5 楼 luanjun123456 的回复:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 25 - 连接字符串无效)
很明显的错误信息,数据库未连接上,你的连接字符串写的不完整或有问题,看看你的sql服务开了没有,在检查是windows验证登录还是sql server验证登录,因为这两个验证的连接字符串还是有区别的,至于区别可以百度,网上也有例子

总结下,还是那两个问题:
1.数据库连接失败。。。
2.SQL语句不正确。。。
解决办法:
问题1:
在VS界面有一个“服务器与资源管理器”,可视化操作连接数据库成功后,可以看到表、视图等等,在数据库的“属性”那里有一个“连接字符串”,写到web.config这个配置文件中。在程序中直接读取这个连接字符串即可。或者简单点,直接复制那个字符串使用。
问题2:
断点调试,在变量监视中,获得sql语句的实例值,复制到数据库中执行。查看格式、列名大小写、引号、逗号和语法等等。最后对比执行结果是否正确。
tiangua_1527755852 2014-09-10
  • 打赏
  • 举报
回复
绑定图书信息是这样显示的 //自定义方法绑定书架信息 public void bindCase() { string sql = "select * from tb_bookcase"; gvBookcase.DataSource = dataOperate.getDataset(sql); gvBookcase.DataKeyNames = new string[] { "bookcaseID" }; gvBookcase.DataBind(); } //建立类文件dataOperate.cs方便各文件集中调用 public class dataOperate { // 用来查询记录,以DataSet对象形式返回 // <param name="sql">用来查询的sql语句</param> // <returns>返回一个DataSet对象</returns> public static DataSet getDataset(string sql) { //创建数据库连接 SqlConnection con = createCon(); //打开数据库连接 con.Open(); //创建DataSet对象 DataSet ds = new DataSet(); //创建DataAdapter对象 SqlDataAdapter sda = new SqlDataAdapter(sql, con); //填充DataSet数据集 sda.Fill(ds); //返回DataSet对象 return ds; } }
  • 打赏
  • 举报
回复
早连上了啊现在//string IDsimida = this.dataGridView1.Rows[0].Cells[0].Value.ToString();报错未将对象引用设置引用实例
zhengnan2012 2014-09-10
  • 打赏
  • 举报
回复
数据库都没有连上你怎么不卡. 先用ssms 连数据库查看有数据没.
  • 打赏
  • 举报
回复
private void button3_Click(object sender, EventArgs e) { string connectionString = "Data Source=ZXY-PC;Initial Catalog=book;User ID=sa;password=12345;Integrated Security=False"; SqlConnection MyConnection = new SqlConnection(connectionString); string IDsimida = this.dataGridView1.Rows[0].Cells[0].Value.ToString(); string MyDelete = ("Delete from book where ID="+IDsimida); SqlCommand MyCommand = new SqlCommand(MyDelete, MyConnection); foreach (DataGridViewRow r in dataGridView1.SelectedRows) { if (!r.IsNewRow) { dataGridView1.Rows.Remove(r); } } //string IDsimida = this.dataGridView1.Rows[0].Cells[0].Value.ToString();报错未将对象引用设置引用实例
whatdoyousay 2014-09-09
  • 打赏
  • 举报
回复
一看就是做ArcGIS开发的 先确认你的数据库有没有连接上吧
xian_wwq 2014-09-09
  • 打赏
  • 举报
回复
数据库没连上,先检查数据库的配置, 保证使用数据库的客户端能连上
  • 打赏
  • 举报
回复
弄好了。开始连不上列名无效因为NAME={0}", 这里少个''
快乐起航2020 2014-09-09
  • 打赏
  • 举报
回复
引用 2 楼 u010973204 的回复:
点查询以后就这样不动了。 data.Fill(ds,"book" );//在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 25 - 连接字符串无效)
看到这 ,知道是数据库语句链接错误 ,或者你的sql软件现在附加不上数据库
  • 打赏
  • 举报
回复
4L的可以用。但是输入什么在data.Fill(ds, "Book");这一行显示都是列名无效~ 这是我的表 我是小白。qq178842141.刚开始学习软件。求个大神带带!拜托拜托
Qxiaojie 2014-09-09
  • 打赏
  • 举报
回复
引用 楼主 u010973204 的回复:
DataSet ds = new DataSet(); string sql = string.Format("select ID,NAME from book where NAME={0}", textBox1.Text.Trim()); SqlDataAdapter data = new SqlDataAdapter(sql, "data source=ZXY-PC,initial catalog=book;integrated security=true"); data.Fill(ds,"book" );//运行到这一步的时候就卡主了 dataGridView1.DataSource = ds.Tables["book"];
string sql = string.Format("select ID,NAME from book where NAME={0}", textBox1.Text.Trim()); 字符串加引号的 string sql = string.Format("select ID,NAME from book where NAME=‘{0}’"
zdc254266718 2014-09-09
  • 打赏
  • 举报
回复
很好环境和环境和交换机
  • 打赏
  • 举报
回复
点查询以后就这样不动了。 data.Fill(ds,"book" );//在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 25 - 连接字符串无效)
  • 打赏
  • 举报
回复
如果30秒钟还“卡主”,你就把电脑当废铁卖了吧。 如果没有“卡主”,那么你应该贴出真正的调试信息画面来!
  • 打赏
  • 举报
回复
你采用的是集成登陆验证 你可以点VS主菜单上的“数据” > 添加新的数据源 可视化配置你的数据源,然后用他生成的连接字符串
完美的神速 2014-09-08
  • 打赏
  • 举报
回复
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 25 - 连接字符串无效) 很明显的错误信息,数据库未连接上,你的连接字符串写的不完整或有问题,看看你的sql服务开了没有,在检查是windows验证登录还是sql server验证登录,因为这两个验证的连接字符串还是有区别的,至于区别可以百度,网上也有例子
wind_cloud2011 2014-09-08
  • 打赏
  • 举报
回复
 
   DataSet ds = new DataSet();
   string connectionString = "Data Source=ZXY-PC;Initial Catalog=book;User ID=sa;password=sa;Integrated Security=False";        
            string sql = string.Format("select ID,NAME from book where NAME={0}", textBox1.Text.Trim());
            SqlDataAdapter data = new SqlDataAdapter(sql, connectionString);
            data.Fill(ds,"book" );
            dataGridView1.DataSource = ds.Tables["book"];
wind_cloud2011 2014-09-08
  • 打赏
  • 举报
回复
说明数据库没有连接上阿,你的数据库连接串有问题,仔细查一下:"data source=ZXY-PC,initial catalog=book;integrated security=true",没有连接的用户名与密码, 格式应该是这样: string connectionString = "Data Source=192.168.1.3;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False";

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧