如何从数据库中汇总数据的列数列在Varchar中我必须在Textbox2中显示结果 [英] How Can I Sum Vales Of Data From Database The Column Is In Varchar And I Have To Display Result In Textbox2
问题描述
SqlConnection con = new SqlConnection(Data Source = SHANTANU \\SQLEXPRESS; Initial Catalog = ankur; Integrated Security =真正的);
字符串查询=选择SUM(CAST(REPLACE(Net_Wt()as int))FROM Packing WHERE Lot_No ='+ TextBox1.Text + ';
SqlCommand cmd = new SqlCommand(query,con); //选择SUM(cast(marksobtained as int))作为'totalmarksobtained'from sampletab
con.Open();
SqlDataReader mydr;
mydr = cmd.ExecuteReader();
while( mydr.Read())
{
TextBox2.Text = mydr.ToString(); // SUM(CAST(REPLACE(RunTime,':','。' )AS浮动))
}
con.Close();
SqlConnection con = new SqlConnection("Data Source=SHANTANU\\SQLEXPRESS;Initial Catalog=ankur;Integrated Security=True");
string query = "select SUM(CAST(REPLACE(Net_Wt() as int)) FROM Packing WHERE Lot_No='" + TextBox1.Text + "'";
SqlCommand cmd = new SqlCommand(query, con);//select SUM(cast(marksobtained as int)) as 'totalmarksobtained' from sampletab
con.Open();
SqlDataReader mydr;
mydr = cmd.ExecuteReader();
while (mydr.Read())
{
TextBox2.Text = mydr.ToString();//SUM(CAST(REPLACE(RunTime, ':','.') AS float))
}
con.Close();
获取错误就像你不能添加varchar值。并且无法转换为INT。
Getting Error like u cant add varchar values. and cant convert to INT.
推荐答案
更改
change
SUM(CAST(REPLACE(Net_Wt() as int))
to
to
SUM(convert(int, net_wt))
你不应该直接在sql查询中注入textbox1文本,因为存在风险sql注入,应该更改为参数化的sql,检查出来: parameterized-sql-or-give-me-death.html [ ^ ]
int value;
int.TryParse(TextBox1.Text, out value);
用查询中的值替换TextBox1.Text。
给它一个try.hope这会有所帮助。
replace TextBox1.Text with value in query.
Give it a try.hope this will help.
这篇关于如何从数据库中汇总数据的列数列在Varchar中我必须在Textbox2中显示结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!