如何从数据库中汇总数据的列数列在Varchar中我必须在Textbox2中显示结果 [英] How Can I Sum Vales Of Data From Database The Column Is In Varchar And I Have To Display Result In Textbox2

查看:50
本文介绍了如何从数据库中汇总数据的列数列在Varchar中我必须在Textbox2中显示结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Quote:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆