[英]I Need a SQL query to get the value form database row & column with variable value set by the user
我需要一个 SQL 查询来获取具有用户设置的变量值的数据库行和列的值。
我通过@"SELECT MONTH(CURRENT_TIMESTAMP)"
获得月份范围的值
但是我没有得到用户设置的变量值形式的数据库行和列的值
代码:
private void cashReceiptVoucherToolStripMenuItem_Click(object sender, EventArgs e)
{
lblTyp = "CR -";
sqlConn = new SqlConnection(connstring);
string typ = "NCR";
string QMonth1 = @"SELECT * FROM av WHERE vtype ='" + typ.ToString() + "';";
SqlCommand SqlCmd1 = new SqlCommand(QMonth1, sqlConn);
try
{
sqlConn.Open();
SqlCmd = new SqlCommand(@"SELECT MONTH(CURRENT_TIMESTAMP) ", sqlConn);
var month = (int)SqlCmd.ExecuteScalar();
string QMonth = $"M{month}";
dataReader = SqlCmd1.ExecuteReader();
while (dataReader.Read())
{
var vtype = dataReader["vtype"] as string;
var Mon1 = dataReader["M1"] as string;
var Mon2 = dataReader["M2"] as string;
var Mon3 = dataReader["M3"] as string;
var Mon4 = dataReader["M4"] as string;
var Mon5 = dataReader["M5"] as string;
var Mon6 = dataReader["M6"] as string;
Vno = Mon4;
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
DataEntryVType.ShowDialog();
}
要为您的 sql 查询提供参数,最佳做法是使用SqlParameter
如下面的代码所示
private void cashReceiptVoucherToolStripMenuItem_Click(object sender, EventArgs e)
{
lblTyp = "CR -";
sqlConn = new SqlConnection(connstring);
string typ = "NCR";
string QMonth1 = @"SELECT * FROM av WHERE vtype =@vtype";
SqlCommand SqlCmd1 = new SqlCommand(QMonth1, sqlConn);
try
{
sqlConn.Open();
SqlCmd = new SqlCommand(@"SELECT MONTH(CURRENT_TIMESTAMP) ", sqlConn);
var month = (int)SqlCmd.ExecuteScalar();
string QMonth = $"M{month}";
// adding parameter to sql query
SqlParameter param = new SqlParameter();
param.ParameterName = "@vtype";
param.Value = typ;
SqlCmd1.Parameters.Add(param);
dataReader = SqlCmd1.ExecuteReader();
while (dataReader.Read())
{
var vtype = dataReader["vtype"] as string;
var Mon1 = dataReader["M1"] as string;
var Mon2 = dataReader["M2"] as string;
var Mon3 = dataReader["M3"] as string;
var Mon4 = dataReader["M4"] as string;
var Mon5 = dataReader["M5"] as string;
var Mon6 = dataReader["M6"] as string;
Vno = Mon4;
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
DataEntryVType.ShowDialog();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.