问题描述
- “string”不包含“Fill”的定义
-
我尝试在gridview控件显示该用户发表过的语句;然而他显示:错误 1 “string”不包含“Fill”的定义,并且找不到可接受类型为“string”的第一个参数的扩展方法“Fill”(是否缺少 using 指令或程序集引用?) C:UsersAdministratorDesktop练习聊天室gllyb.aspx.cs 49 17 聊天室
该怎么解决;向各位大神求教。
代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using System.Collections;public partial class liuyanban : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label2.Text = "当前在线人数为" + Application["count"].ToString() + "人";
Label2.Text = Session["UserID"].ToString();}
protected void Button_send_Click(object sender, EventArgs e) { string took = TextBox1.Text; string connString = System.Configuration.ConfigurationManager.ConnectionStrings["talkroomConnectionString"].ConnectionString; SqlConnection myConn = new SqlConnection(connString); string sqlStr = " insert into liaotian(用户名,时间,内容) values('" + Session["UserID"].ToString() + "','" + System.DateTime.Now.ToString() + "','" + TextBox1.Text .ToString() + "') "; SqlCommand myCmd = new SqlCommand(sqlStr, myConn); myConn.Open(); myCmd.ExecuteNonQuery(); myConn.Close(); TextBox1.Text = " "; GridView1.DataBind (); } protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { SqlConnection sqlCon = new SqlConnection(); sqlCon.ConnectionString = "server=PC201503061527;uid=sa;pwd=sa;database=talkroom"; sqlCon.Open(); string sql = string.Format("select * from liaotian where 用户名='{0}' ", Session["UserID"].ToString()); try { SqlCommand cmd = new SqlCommand(sql, sqlCon); DataSet dadaset = new DataSet("liaotian"); sql.Fill(dadaset); this.GridView1.DataSourceID = null; GridView1.DataSource = dadaset.Tables[0]; GridView1.DataBind(); } catch { } }
}
解决方案
你的sql是字符串变量,字符串变量就没有Fill的方法。。要用SqlDataAdapter对象填充DataSet
try
{
//SqlCommand cmd = new SqlCommand(sql, sqlCon);
SqlDataAdapter da = new SqlDataAdapter(sql, sqlCon);
DataSet dadaset = new DataSet("liaotian");
da.Fill(dadaset);
this.GridView1.DataSourceID = null;
GridView1.DataSource = dadaset.Tables[0];
GridView1.DataBind();
}
catch
{
}
时间: 2024-09-20 01:12:52