El parámetro SqlDataReader no funciona

Tengo un formulario de Windows que le pido a un usuario que ingrese un pcname en textbox1 y luego intente usar SqlDataReader en la lectura de la database para get la dirección IP de la PC y luego asignar la unidad de la PC a mi computadora local.

Pero por alguna razón, cuando uso el textbox dentro del parámetro de SQL, no funciona. Pero cuando reemploop el textbox1.text con el nombre real de pc funciona bien. Espero que alguien pueda ayudarme a descubrir por qué el parámetro no funciona correctamente.

Aquí está mi código:

 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(); 

Tal vez si separa el código en líneas diferentes, uno para configurar su parámetro y otro para agregarlo, podrá ver mejor dónde está el problema. Algo como esto:

 SqlParameter param1 = new SqlParameter("@StationName", SqlDbType.NVarChar, textBox1.Text.length); param1.Value = textBox1.Text; cmd.Parameters.Add(param1); 

al less es más fácil ver qué está sucediendo en el depurador.