
楼上正解
完成一个查询,返回一个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显示数据库搜索结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)