winform中怎么从dataset中查询数据

winform中怎么从dataset中查询数据,第1张

楼上正解

完成一个查询,返回一个DataTable后,很多时候都想在查询结果中继续搜索。这时可以使用DataTableSelect方法对结果进行再查询。

Select方法有4个重载,我们经常用到的就是DataTableSelect(String)

这个String的参数是查询的限定式。相当于SQL查询语言中的WHERE语句(不含WHERE),其语法符合SQL语言语法。

整删改查 都是sql语句 不分Winform和 Web

下面的是你需要的 我的表命叫 story

#region Method

/// <summary>

/// 增加一条数据

/// </summary>

public int Add(BWModelstory model)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("insert into story(");

strSqlAppend("title,contents,add_time)");

strSqlAppend(" values (");

strSqlAppend("@title,@contents,@add_time)");

strSqlAppend(";select @@IDENTITY");

SqlParameter[] parameters = {

new SqlParameter("@title", SqlDbTypeNVarChar,550),

new SqlParameter("@contents", SqlDbTypeNVarChar),

new SqlParameter("@add_time", SqlDbTypeDateTime)};

parameters[0]Value = modeltitle;

parameters[1]Value = modelcontents;

parameters[2]Value = modeladd_time;

object obj = DbHelperSQLGetSingle(strSqlToString(),parameters);

if (obj == null)

{

return 0;

}

else

{

return ConvertToInt32(obj);

}

}

/// <summary>

/// 更新一条数据

/// </summary>

public bool Update(BWModelstory model)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("update story set ");

strSqlAppend("title=@title,");

strSqlAppend("contents=@contents,");

strSqlAppend("add_time=@add_time");

strSqlAppend(" where id=@id");

SqlParameter[] parameters = {

new SqlParameter("@title", SqlDbTypeNVarChar,550),

new SqlParameter("@contents", SqlDbTypeNVarChar),

new SqlParameter("@add_time", SqlDbTypeDateTime),

new SqlParameter("@id", SqlDbTypeInt,4)};

parameters[0]Value = modeltitle;

parameters[1]Value = modelcontents;

parameters[2]Value = modeladd_time;

parameters[3]Value = modelid;

int rows=DbHelperSQLExecuteSql(strSqlToString(),parameters);

if (rows > 0)

{

return true;

}

else

{

return false;

}

}

/// <summary>

/// 删除一条数据

/// </summary>

public bool Delete(int id)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("delete from story ");

strSqlAppend(" where id=@id");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbTypeInt,4)

};

parameters[0]Value = id;

int rows=DbHelperSQLExecuteSql(strSqlToString(),parameters);

if (rows > 0)

{

return true;

}

else

{

return false;

}

}

/// <summary>

/// 批量删除数据

/// </summary>

public bool DeleteList(string idlist )

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("delete from story ");

strSqlAppend(" where id in ("+idlist + ") ");

int rows=DbHelperSQLExecuteSql(strSqlToString());

if (rows > 0)

{

return true;

}

else

{

return false;

}

}

/// <summary>

/// 得到一个对象实体

/// </summary>

public BWModelstory GetModel(int id)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("select top 1 id,title,contents,add_time from story ");

strSqlAppend(" where id=@id");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbTypeInt,4)

};

parameters[0]Value = id;

BWModelstory model=new BWModelstory();

DataSet ds=DbHelperSQLQuery(strSqlToString(),parameters);

if(dsTables[0]RowsCount>0)

{

if(dsTables[0]Rows[0]["id"]!=null && dsTables[0]Rows[0]["id"]ToString()!="")

{

modelid=intParse(dsTables[0]Rows[0]["id"]ToString());

}

if(dsTables[0]Rows[0]["title"]!=null && dsTables[0]Rows[0]["title"]ToString()!="")

{

modeltitle=dsTables[0]Rows[0]["title"]ToString();

}

if(dsTables[0]Rows[0]["contents"]!=null && dsTables[0]Rows[0]["contents"]ToString()!="")

{

modelcontents=dsTables[0]Rows[0]["contents"]ToString();

}

if(dsTables[0]Rows[0]["add_time"]!=null && dsTables[0]Rows[0]["add_time"]ToString()!="")

{

modeladd_time=DateTimeParse(dsTables[0]Rows[0]["add_time"]ToString());

}

return model;

}

else

{

return null;

}

}

/// <summary>

/// 获得数据列表

/// </summary>

public DataSet GetList(string strWhere)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("select id,title,contents,add_time ");

strSqlAppend(" FROM story ");

if(strWhereTrim()!="")

{

strSqlAppend(" where "+strWhere);

}

return DbHelperSQLQuery(strSqlToString());

}

/// <summary>

/// 获得前几行数据

/// </summary>

public DataSet GetList(int Top,string strWhere,string filedOrder)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("select ");

if(Top>0)

{

strSqlAppend(" top "+TopToString());

}

strSqlAppend(" id,title,contents,add_time ");

strSqlAppend(" FROM story ");

if(strWhereTrim()!="")

{

strSqlAppend(" where "+strWhere);

}

strSqlAppend(" order by " + filedOrder);

return DbHelperSQLQuery(strSqlToString());

}

/// <summary>

/// 获取记录总数

/// </summary>

public int GetRecordCount(string strWhere)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("select count(1) FROM story ");

if(strWhereTrim()!="")

{

strSqlAppend(" where "+strWhere);

}

object obj = DbHelperSQLGetSingle(strSqlToString());

if (obj == null)

{

return 0;

}

else

{

return ConvertToInt32(obj);

}

}

/// <summary>

/// 分页获取数据列表

/// </summary>

public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)

{

StringBuilder strSql=new StringBuilder();

strSqlAppend("SELECT FROM ( ");

strSqlAppend(" SELECT ROW_NUMBER() OVER (");

if (!stringIsNullOrEmpty(orderbyTrim()))

{

strSqlAppend("order by T" + orderby );

}

else

{

strSqlAppend("order by Tid desc");

}

strSqlAppend(")AS Row, T from story T ");

if (!stringIsNullOrEmpty(strWhereTrim()))

{

strSqlAppend(" WHERE " + strWhere);

}

strSqlAppend(" ) TT");

strSqlAppendFormat(" WHERE TTRow between {0} and {1}", startIndex, endIndex);

return DbHelperSQLQuery(strSqlToString());

}

/

/// <summary>

/// 分页获取数据列表

/// </summary>

public DataSet GetList(int PageSize,int PageIndex,string strWhere)

{

SqlParameter[] parameters = {

new SqlParameter("@tblName", SqlDbTypeVarChar, 255),

new SqlParameter("@fldName", SqlDbTypeVarChar, 255),

new SqlParameter("@PageSize", SqlDbTypeInt),

new SqlParameter("@PageIndex", SqlDbTypeInt),

new SqlParameter("@IsReCount", SqlDbTypeBit),

new SqlParameter("@OrderType", SqlDbTypeBit),

new SqlParameter("@strWhere", SqlDbTypeVarChar,1000),

};

parameters[0]Value = "story";

parameters[1]Value = "id";

parameters[2]Value = PageSize;

parameters[3]Value = PageIndex;

parameters[4]Value = 0;

parameters[5]Value = 0;

parameters[6]Value = strWhere;

return DbHelperSQLRunProcedure("UP_GetRecordByPage",parameters,"ds");

}/

#endregion Method

1楼的我没用过~

以下是我自己使用的方法:

绑定LISTVIEW的方法如下:

string[] str = new string[5];//获取列数

if (thisdsDishTables["getDish"]RowsCount > 0)//判断数据集中是否有数据;getDish为数据集dsDish中的数据表,默认的表的索引为0开始

{

for (int i = 0; i <= thisdsDishTables["getDish"]RowsCount - 1; i++)

{

str[0] = thisdsDishTables["getDish"]Rows[i][0]ToString();

str[1] = thisdsDishTables["getDish"]Rows[i][1]ToString();

str[2] = thisdsDishTables["getDish"]Rows[i][2]ToString();

str[3] = thisdsDishTables["getDish"]Rows[i][3]ToString();

ListViewItem lvi = new ListViewItem(str, 0);

thislistView1ItemsAdd(lvi);

}

}

使用的时候只需要将数据集dsDish改为自己的数据集,列数改为自己的在LISTVIEW中显示的列数,将数据集集中的表改为自己在数据集中定义的表(如果没定义就将改为 0 即可)

首先你的查询逻辑里就是根据两个时间点返回一个数据源例如:DataTable/DataSet/Xml等

数据库连接字符例如:var connStr = ConfigurationAppSetting["connStr"];

如:

public DataTable GetDataTable(DateTime dtStart,DateTime dtEnd)

{

var sql = "select from [Table] Where 1 = 1 ";

if(dtStartHasValue&&dtStartValue!=DateTimeMinValue)

{

sql+= " and [Filed]>='"+dtStart+"' ";

}

if(dtEndHasValue&&dtEndValue!=DateTimeMinValue)

{

sql+=" and [Field]<='"+dtEnd+"' ";

}

return GetTable(sql,connStr);

}

private DataTable GetTable(string sql,string connectionString)

{

DataTable table = null;

var conn = new SqlConnection(connectionStrng);

try

{

connOpen();

var cmd = new SqlCommand(sql,conn);

var sqlAdapter = new SqlAdapter();

table = new DataTable();

sqlAdapercommand = cmd;

sqlAdapterFill(table);

}

catch(Exceiption ex)

{

throw nex Exception(ex);

}

finally

{

connClose();

return table;

}

}

以上是C#实现的,一般都差不多这样写,但用ORM的话更简单,暂不提

如果是在sql里实现的话,更简单

select from tablename where time between(time1,time2);

以上就是关于winform中怎么从dataset中查询数据全部的内容,包括:winform中怎么从dataset中查询数据、简单的c#winform sql数据库的增删改查功能 最好把代码和数据库都给我 谢谢啦 急!、C#在winform中要用listview显示数据库搜索结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9761416.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存