Параметр SqlDataReader не работает
У меня есть форма Windows, в которой я прошу пользователя ввести имя компьютера в textbox1, а затем пытаюсь использоватьSqlDataReader
для чтения из базы данных, чтобы получить IP-адрес компьютера, а затем сопоставить диск компьютера с моим локальным компьютером.
Но по какой-то причине, когда я использую текстовое поле в параметре SQL, это 'не работает. Но когда я заменяюtextbox1.text
с фактическим именем компьютера он работает нормально. Надеюсь, кто-то может помочь мне выяснить, почему параметр нет работает правильно.
Вот мой код:
public void button1_Click(object sender, EventArgs e)
{
string results = "";
using (SqlConnection cs = new SqlConnection(@"***removed connection string***"))
{
cs.Open();
string query = "select stationipaddress from station where stationname = @StationName";
using (SqlCommand cmd = new SqlCommand(query, cs))
{
// Add the parameter and set its value --
cmd.Parameters.AddWithValue("@StationName", textBox1.Text);
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
label3.Text = dr.GetSqlValue(0).ToString();
results = dr.GetValue(0).ToString();
MessageBox.Show(dr.GetValue(0).ToString());
MessageBox.Show(results);
}
string myvar = string.Format(@"use S: \\" + label3.Text + "\\c$\logs 0A36303 /user:admin", label3.Text);
Process p = new Process();
p.StartInfo.FileName = "net.exe";
p.StartInfo.Arguments = (myvar);
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();