C# 从表c中删除行
我是c语言的新手,正在尝试找出表中的删除和更新部分。我得到插入部分是因为在单击按钮之前,我没有尝试选择表中的任何内容。然而,对于delete和update,我对查询如何与表中的选定行配对感到困惑。如果有人能给我指出正确的方向那就太好了。我正在devexpress中使用数据集和GridControl。我还必须使用按钮来执行事件,并且不会使用网格中的命令字段。我正在用参数进行插入 我的名单:C# 从表c中删除行,c#,sqlanywhere,C#,Sqlanywhere,我是c语言的新手,正在尝试找出表中的删除和更新部分。我得到插入部分是因为在单击按钮之前,我没有尝试选择表中的任何内容。然而,对于delete和update,我对查询如何与表中的选定行配对感到困惑。如果有人能给我指出正确的方向那就太好了。我正在devexpress中使用数据集和GridControl。我还必须使用按钮来执行事件,并且不会使用网格中的命令字段。我正在用参数进行插入 我的名单: public partial class PatientList : XtraForm { publ
public partial class PatientList : XtraForm
{
public PatientList()
{
InitializeComponent();
}
private void PatientList_Load(object sender, EventArgs e)
{
SAConnection conn = new SAConnection("dsn={SQL Anywhere 10};uid=dba;pwd=sql;databasefile=C:\\Users\\Kbaker1\\Desktop\\Training1.db;");
SADataReader rdr = null;
string Query = "SELECT * FROM patient";
SADataAdapter da = new SADataAdapter(Query, conn);
DataSet ds = new DataSet();
da.Fill(ds);
grdList.DataSource = ds.Tables[0];
try
{
conn.Open();
SACommand cmd = new SACommand(Query, conn);
rdr = cmd.ExecuteReader();
}
finally
{
if (rdr != null)
{
rdr.Close();
}
if (conn != null)
{
conn.Close();
}
}
}
private void btnNewPatient_Click(object sender, EventArgs e)
{
Edit editPat = new Edit();
editPat.Show();
}
private void btnEditPatient_Click(object sender, EventArgs e)
{
Edit editPat = new Edit();
editPat.Show();
}
private void btnDeletePatient_Click(object sender, EventArgs e)
{
PatientService ps = new PatientService();
ps.DeletePatient();
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
执行以下操作的服务类:
public class PatientService
{
public void DataAccess()
{
}
public void CreatePatient(Patient patient)
{
SAConnection conn = new SAConnection();
SACommand cmd = new SACommand();
conn.ConnectionString = ("dsn={SQL Anywhere 10};uid=dba;pwd=sql;DBF=C:\\Users\\Kbaker1\\Desktop\\Training1.db;");
conn.Open();
cmd.Connection = conn;
cmd.CommandText = (@"INSERT INTO patient (patient_id, first_name, last_name, address, city, state, zipcode, phone, classification_id)
VALUES ('"
+ patient.PatientID + "','"
+ patient.FirstName + "','"
+ patient.LastName + "','"
+ patient.Address + "','"
+ patient.City + "','"
+ patient.State + "','"
+ patient.ZipCode + "','"
+ patient.Phone + "','"
+ patient.ClassificationID + "'); ");
cmd.ExecuteNonQuery();
conn.Close();
}
public void UpdatePatient()
{
}
public void DeletePatient()
{
SAConnection conn = new SAConnection();
conn.ConnectionString = ("dsn={SQL Anywhere 10};uid=dba;pwd=sql;DBF=C:\\Users\\Kbaker1\\Desktop\\Training1.db;");
conn.Open();
SACommand cmd = new SACommand("DELETE FROM patient WHERE patient_id = @patient_id");
cmd.Connection = conn;
cmd.ExecuteNonQuery();
conn.Close();
}
}
只需将INSERT sql语句替换为UPDATE即可
删除:
DELETE FROM table_name
WHERE some_column=some_value;
谢谢删除呢?从tableName中删除,其中something=somethingElse。你有SQL引用吗?Robert,我的删除查询已经正确了吗?谢谢,我觉得不错。您如何填充@patient\u id?我希望DeletePatient函数中有一个参数,或者某个局部成员变量。参数@patient_id在哪里定义?只有一个建议:查看实体框架,它取代了所有繁琐的T-SQL语句,并为您提供连接到数据库的对象DbContext。然后,操作通常是2-3行代码。我是说,你得到了IntelliSense吗?DataAdapter有一个名为Update的方法,可以将网格上的每一个更改都传输到底层数据库。检查SADataAdapter的文档
DELETE FROM table_name
WHERE some_column=some_value;