首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >c#在SqlDataAdapter中使用Parameters.AddWithValue

c#在SqlDataAdapter中使用Parameters.AddWithValue
EN

Stack Overflow用户
提问于 2012-11-08 03:16:20
回答 3查看 81.6K关注 0票数 36

如何通过SqlDataAdapter使用Parameters.AddWithValue。下面是搜索代码。

代码语言:javascript
复制
var da = new SqlDataAdapter("SELECT * FROM annotations WHERE annotation LIKE '%"+txtSearch.Text+"%'", _mssqlCon.connection);
var dt = new DataTable();
da.Fill(dt);

我像这样重写了代码:

代码语言:javascript
复制
SqlDataAdapter da;
da = new SqlDataAdapter("SELECT * FROM annotations WHERE annotation LIKE '%@search%'", _mssqlCon.connection);
da.SelectCommand.Parameters.AddWithValue("@search",txtSearch.Text);
var dt = new DataTable();
da.Fill(dt);

但它失败了。

EN

回答 3

Stack Overflow用户

发布于 2018-07-25 16:01:34

使用da.SelectCommand.Parameters.Add()而不是cmd.Parameters.Add(),下面是一个处理存储过程的示例,该存储过程有两个参数,第二个是可以为空的整型参数:

代码语言:javascript
复制
public DataTable GetData(int par1, int? par2)
{
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        using (SqlDataAdapter da = new SqlDataAdapter())
        {
            string sql = "StoredProcedure_name";
            da.SelectCommand = new SqlCommand(sql, conn);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;

            da.SelectCommand.Parameters.Add("@Par1", SqlDbType.Int).Value = par1;
            da.SelectCommand.Parameters.Add("@Par2", SqlDbType.Int).Value = (object)par2?? DBNull.Value;

            DataSet ds = new DataSet();
            da.Fill(ds, "SourceTable_Name");

            DataTable dt = ds.Tables["SourceTable_Name"];

            //foreach (DataRow row in dt.Rows)
            //{
            //You can even manipulate your data here
            //}
            return dt;
        }
    }
}
票数 4
EN

Stack Overflow用户

发布于 2015-12-03 14:47:10

试试这个:

代码语言:javascript
复制
mySearchString = "Select * From test Where ([title] LIKE '%' + @title + '%')";
cmd.Parameters.Add("@title", SqlDbType.VarChar, 120);
cmd.Parameters("@title").Value = TextBox1.Text;
票数 0
EN

Stack Overflow用户

发布于 2018-01-04 20:23:32

我使用Repeater显示数据

代码语言:javascript
复制
int queryString =int.Parse(Request.QueryString["Id"]);

SqlConnection conn =new SqlConnection("server=.; Database=Northwind; 
Integrated Security=true;");

try{
conn.Open();

SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT ProductID, ProductName, UnitPrice, CategoryID FROM Products WHERE CategoryID =@CategoryID", conn);

dataAdapter.SelectCommand.Parameters.Add("@CategoryID", queryString);
                        DataSet dataSet = new DataSet();
                        dataAdapter.Fill(dataSet);
                        QueryStringProductListRepeater.DataSource = dataSet;
                        QueryStringProductListRepeater.DataBind();
}

catch{
Response.Write("QueryStringProductListRepeater");
}

finally{
conn.Close();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13276602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档