
C#.net中如何在TextBox中显示数据库查询结果? 5
我在设计中设置了四个ListBox,分别表示年月,也就是从x年x月到x年x月的一个工具出入库数量的查询。下面是我的代码:stringtoolName;stringyear...
我在设计中设置了四个ListBox,分别表示年月,也就是从x年x月到x年x月的一个工具出入库数量的查询。
下面是我的代码:
string toolName;
string year1,month1,year2,month2,status;
year1 = lstYear1.SelectedItem.Text;
month1 = lstMonth1.SelectedItem.Text;
year2 = lstYear2.SelectedItem.Text;
month2 = lstMonth2.SelectedItem.Text;
status = lstStatus.SelectedItem.Text;
toolName = txtToolName.Text.Trim();
SqlConnection con = new SqlConnection("server=.;database=mtc;Integrated Security=True ");
con.Open();
string tools = "select * from mtctoolstable where toolName='"+toolName+"'";
SqlCommand cmd = new SqlCommand(tools, con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
txtToolName.Text = dr.GetString(dr.GetOrdinal("toolName"));
}
else
{
lblMessage.Text = "没有您所查询的工具,请重新输入您要查询的工具名称";
return;
}
con.Close ();
if (int.Parse(year2) < int.Parse(year1))
{
lblMessage.Text = "您输入的年份有误,请重新输入。";
return;
}
else
{
if ((int.Parse(year1) == int.Parse(year2)) && (int.Parse(month2) < int.Parse(month1)))
{
lblMessage.Text = "您输入的月份有误,请重新输入。";
return;
}
else
{
if (status == "入库")
{
SqlConnection con1 = new SqlConnection("server=.;database=mtc;Integrated Security=True ");
con1.Open();
string i = "select sum(toolNumber) from mtctoolstable where tooltime between year1+month1 and year2+month2 and toolsign=0 and toolName=toolName";
SqlCommand cmd1 = new SqlCommand(i, con1);
SqlDataAdapter dr1 = cmd1.ExecuteReader();
if (dr1 .Read())
{
TextBox1.Text =dr1 .GetString(dr1 .GetOrdinal("i"));
}
}
}
}
我是菜鸟,什么都不懂。
代码有误,请帮助改正。
同时,我要使查询的结果在设计的另外一个TextBox中显示出来。请问,该怎么做?
有人指导我说Between之间要用常量,但是,我一点都不动,不会,我尝试用常量代进去再测试,还是不行,i处报错。。我不知道该怎么办了!请各位高手指点一下啊! 展开
下面是我的代码:
string toolName;
string year1,month1,year2,month2,status;
year1 = lstYear1.SelectedItem.Text;
month1 = lstMonth1.SelectedItem.Text;
year2 = lstYear2.SelectedItem.Text;
month2 = lstMonth2.SelectedItem.Text;
status = lstStatus.SelectedItem.Text;
toolName = txtToolName.Text.Trim();
SqlConnection con = new SqlConnection("server=.;database=mtc;Integrated Security=True ");
con.Open();
string tools = "select * from mtctoolstable where toolName='"+toolName+"'";
SqlCommand cmd = new SqlCommand(tools, con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
txtToolName.Text = dr.GetString(dr.GetOrdinal("toolName"));
}
else
{
lblMessage.Text = "没有您所查询的工具,请重新输入您要查询的工具名称";
return;
}
con.Close ();
if (int.Parse(year2) < int.Parse(year1))
{
lblMessage.Text = "您输入的年份有误,请重新输入。";
return;
}
else
{
if ((int.Parse(year1) == int.Parse(year2)) && (int.Parse(month2) < int.Parse(month1)))
{
lblMessage.Text = "您输入的月份有误,请重新输入。";
return;
}
else
{
if (status == "入库")
{
SqlConnection con1 = new SqlConnection("server=.;database=mtc;Integrated Security=True ");
con1.Open();
string i = "select sum(toolNumber) from mtctoolstable where tooltime between year1+month1 and year2+month2 and toolsign=0 and toolName=toolName";
SqlCommand cmd1 = new SqlCommand(i, con1);
SqlDataAdapter dr1 = cmd1.ExecuteReader();
if (dr1 .Read())
{
TextBox1.Text =dr1 .GetString(dr1 .GetOrdinal("i"));
}
}
}
}
我是菜鸟,什么都不懂。
代码有误,请帮助改正。
同时,我要使查询的结果在设计的另外一个TextBox中显示出来。请问,该怎么做?
有人指导我说Between之间要用常量,但是,我一点都不动,不会,我尝试用常量代进去再测试,还是不行,i处报错。。我不知道该怎么办了!请各位高手指点一下啊! 展开
3个回答
展开全部
string i = "select sum(toolNumber) from mtctoolstable where tooltime between year1+month1 and year2+month2 and toolsign=0 and toolName=toolName";
第二个toolName应该是个参数吧,应该
string i = "select sum(toolNumber) from mtctoolstable where tooltime between year1+month1 and year2+month2 and toolsign=0 and toolName='"+toolName+"'";
然后你的year1+month1 你看下结果是什么,是日期的格式吗?应该不是吧。
格式相同才能比较撒。 如果2008-1-1和20081 怎么比较。
第二个toolName应该是个参数吧,应该
string i = "select sum(toolNumber) from mtctoolstable where tooltime between year1+month1 and year2+month2 and toolsign=0 and toolName='"+toolName+"'";
然后你的year1+month1 你看下结果是什么,是日期的格式吗?应该不是吧。
格式相同才能比较撒。 如果2008-1-1和20081 怎么比较。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询