C# 无法从其他表单中找到表0
试图将数据从一个窗体移动到另一个窗体,但该表出现问题。是的,我发现这样的主题有错误,并试图纠正自己,但出了问题C# 无法从其他表单中找到表0,c#,sql,sql-server,C#,Sql,Sql Server,试图将数据从一个窗体移动到另一个窗体,但该表出现问题。是的,我发现这样的主题有错误,并试图纠正自己,但出了问题 using (SqlConnection conn = new SqlConnection("Data Source=DESKTOP-R552818\\SQLEXPRESS;Initial Catalog=Fond;Integrated Security=True")) { SqlDataAdapter comm = new SqlDataAdapter("INSERT INT
using (SqlConnection conn = new SqlConnection("Data Source=DESKTOP-R552818\\SQLEXPRESS;Initial Catalog=Fond;Integrated Security=True"))
{
SqlDataAdapter comm = new SqlDataAdapter("INSERT INTO Pacient (Name, id_diagnoz, Surname, Middle_name, Column__Passport, Legal_address_Clinic, Age) " +
"VALUES ('"+ tName.Text + "', (SELECT id_diagnoz FROM Diagnoz WHERE Name_diagnoz = '" + cbName.Text + "' and Stage = '" + cbStage.Text + "'), '" + tSurname.Text + "', '" + tMiddle.Text + "', '" + tPas.Text + "', '" + cbClinic.Text + "', '" + tAge.Text + "')", conn);
conn.Open();
DataSet ds = new DataSet();
//ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
comm.Fill(ds);
Form1 form = new Form1();
form.DataGrid.DataSource = ds.Tables[0]; //?
}
您希望查询返回结果,但您所做的只是插入语句 要插入值,应使用
SqlCommand
()的ExecuteNonQuery
方法
然后,分配另一个命令:选择
以获取结果,然后您可以用结果填充数据集
,然后您可以用它填充数据网格视图
同样:您是SQL注入的一员,请使用参数化查询来防止这种威胁()。您希望查询返回结果,但您所做的只是插入语句 要插入值,应使用
SqlCommand
()的ExecuteNonQuery
方法
然后,分配另一个命令:选择
以获取结果,然后您可以用结果填充数据集
,然后您可以用它填充数据网格视图
同样:您是SQL注入的一员,请使用参数化查询来防止自己受到这种威胁()。首先,使用。第二:您是否在SQL中运行了代码,它是否返回了任何东西(我知道,它没有返回)?首先,使用。第二:您是否在SQL中运行了代码,它是否返回了任何东西(我知道,它没有返回)?正如您所说,我已经做了一些更改。但我现在无法使用。填充,可能需要再次为此重新连接SqlDataAdapter?还是别的way@Yippeeki-是的,在执行
SELECT
语句时调用Fill
。使用当前代码:在ExecuteNonQuery
之后,分配另一个SQL命令:SELECT
语句,然后像往常一样使用Fill
方法进行操作。正如您所说,我做了一些更改。但我现在无法使用。填充,可能需要再次为此重新连接SqlDataAdapter?还是别的way@Yippeeki-是的,在执行SELECT
语句时调用Fill
。使用当前代码:在ExecuteNonQuery
之后,分配另一个SQL命令:SELECT
语句,然后像往常一样使用Fill
方法继续。
string connectionString = "Data Source=DESKTOP-R552818\\SQLEXPRESS;Initial Catalog=Fond;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlTransaction transaction = connection.BeginTransaction();
SqlCommand command = connection.CreateCommand();
command.Transaction = transaction;
try
{
command.CommandText = "INSERT INTO Pacient (Name, id_diagnoz, Surname, Middle_name, Column__Passport, Legal_address_Clinic, Age) " +
"VALUES ('" + metroTextBox1.Text + "', (SELECT id_diagnoz FROM Diagnoz WHERE Name_diagnoz = '" + metroComboBox1.Text + "' and Stage = '" + metroComboBox2.Text + "'), '" + metroTextBox2.Text + "', '" + metroTextBox3.Text + "', '" + maskedTextBox1.Text + "', '" + metroComboBox3.Text + "', '" + metroTextBox5.Text + "')";
command.ExecuteNonQuery();
transaction.Commit();
MessageBox.Show("Added");
//here is a DataSet
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
transaction.Rollback();
}
}