将变量传递给存储过程c#

我有一个变量“ keypress \”,当我们的系统中拨打电话时会设置该变量。将其写入文本文件的方式如下:
w.Write(attrColl[\"keypress\"].Value);
我需要做的是将这些按键传入存储过程中。 因此,我的第一个问题是如何将其传递给sproc,我的代码如下所示:
mySqlCommand.Parameters.Add(\"@Q1\", SqlDbType.Int).Value = keypress;
mySqlCommand.Parameters.Add(\"@Q2\", SqlDbType.Int).Value = keypress;
例如:如果第一个按键是500#,第二个按键是300#。 它应该看起来像@ Q1 = 500#和@ Q2 = 300# 我需要先将按键转换为字符串吗?如果是这样,什么是最好的方法,因为我给出了大约10个问题,所以我会返回10个独特的按键。 其次,由于每次按键末尾都有一个#号,因此sproc输入是否为nvarchar而不是int?或处理#的最佳方法是什么。 任何想法,建议或文档,我们将不胜感激。     
已邀请:
        我假设您的文本文件看起来像这样,都在一行上。   100#400#900# 我还假设您已经将此行读回到某个名称的变量中。 所以
        var keypressline = \"100#400#900#\";
        var keyPresses = keypressline.Split(\'#\');
        for (var i = 0; i < keyPresses.Length; i++)
        {               
            mySqlCommand.Parameters.AddWithValue(\"@Q\" + i, keyPresses[i]);
        }
我故意将@Q留为字符串。如果强制转换为整数,则首先按下0将丢失该事实。 编辑:包含的加载文件代码
string fullPathAndFileName = @\"C:\\blah\\blah.txt\";
string keypresses;
using (StreamReader sr = new StreamReader(fullPathAndFileName)) 
{
    while (sr.Peek() >= 0) 
    {
        keyPresses = sr.ReadLine();
    ...
    }
}
    

要回复问题请先登录注册