こんにちは、これはcreates multiple labels
SQL DB に保存されている正確な位置を示すコードです。今、各ラベルの場所を保存する方法を考えています(のように移動できるためDrag and drop
)。実行時にラベルを作成すると名前がないので、コードはどのように見えるべきか疑問に思っていましたね。どのように割り当てればよいかわかりません。
誰か私がこれを解決するのを手伝ってくれませんか?
これはロードのコードです:
private void createLabelFromSql()
{
try
{
string query = "SELECT * FROM [schema] WHERE id=@id";
SqlCommand com = new SqlCommand(query, conn);
com.Parameters.AddWithValue("@id", idSch);
conn.Open();
SqlDataReader read= com.ExecuteReader();
while (read.Read())
{
mouseX = Int32.read(read["x"].ToString());
mouseY = Int32.read(read["y"].ToString());
createLabelCmd();
}
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show("" + ex);
}
finally { conn.Close(); }
}
private void createLabelCmd()
{
newLabel = new Label();
newLabel.Location = new Point(mouseY, mouseX);
newLabel.MouseMove += new MouseEventHandler(this.MyControl_MouseMove);
newLabel.MouseDown += new MouseEventHandler(this.MyControl_MouseDown);
panel1.Controls.Add(newLabel);
}
どういうわけかこのようなものかもしれないと思いましたが、名前の扱い方がわかりません:
string query = "UPDATE [schema] SET x=@x, y=@y WHERE id=@id";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@x",label1.Location.X);
cmd.Parameters.AddWithValue("@y", label1.Location.Y);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
お時間をいただきありがとうございます。