2 qq 29581167 qq_29581167 于 2015.07.10 09:48 提问

“string”不包含“Fill”的定义

我尝试在gridview控件显示该用户发表过的语句;然而他显示:错误 1 “string”不包含“Fill”的定义,并且找不到可接受类型为“string”的第一个参数的扩展方法“Fill”(是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Desktop\练习\聊天室\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
    { 

    }
}

}

1个回答

showbo
showbo   Ds   Rxr 2015.07.10 10:02
已采纳

你的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
        {

        }
Csdn user default icon
上传中...
上传图片
插入图片