object username;
private void palupdate_VisibleChanged(object sender, EventArgs e)
{
SqlDataAdapter dape = new SqlDataAdapter("select * from 公交线路反馈信息 as a inner join 公交司机反馈信息 as b on a.username=b.username inner join 公交车内环境反馈信息 as c on b.username=c.username", conn);
DataSet ds = new DataSet();
dape.Fill(ds);
if (palupdate.Visible == true)
{
cmbuserid.DataSource = ds.Tables[0].DefaultView;
cmbuserid.DisplayMember = "username";
txtlines.DataBindings.Add("Text", ds.Tables[0], "CirSuggestions");
txtDirs.DataBindings.Add("Text", ds.Tables[0], "CirSuggestions1");
txtEvents.DataBindings.Add("Text", ds.Tables[0], "CirSuggestions3");
conn.Close();
}
else
{
txtlines.DataBindings.Clear();
txtDirs.DataBindings.Clear();
txtEvents.DataBindings.Clear();
}
} private void label5_Click(object sender, EventArgs e)
{
palupdate.Visible = false;
} private void button3_Click(object sender, EventArgs e)
{
string lines = txtlines.Text;
string dirs = txtDirs.Text;
string events = txtEvents.Text;
//int i = cmbuserid.SelectedIndex;
//string username="";
//switch (i)
//{
// case 0:
// username="pen123";
// break;
// case 1:
// username = "peng123";
// break;
// case 2:
// username = "peng123456";
// break;
//}
SqlCommand cmd = new SqlCommand("update 公交线路反馈信息 set CirSuggestions=@CirSuggestions where username=@usernameid", conn);
conn.Open();
cmd.Parameters.AddWithValue("CirSuggestions", lines);
cmd.Parameters.AddWithValue("usernameid", username);
cmd.ExecuteNonQuery();
conn.Close();
cmd.Dispose(); SqlCommand cmm = new SqlCommand("update 公交司机反馈信息 set CirSuggestions1=@CirSuggestions1 where username=@usernames", conn);
conn.Open();
cmm.Parameters.AddWithValue("CirSuggestions1", dirs);
cmm.Parameters.AddWithValue("usernames", username);
cmm.ExecuteNonQuery();
conn.Close();
cmm.Dispose(); SqlCommand com = new SqlCommand("update 公交车内环境反馈信息 set CirSuggestions3=@CirSuggestions3 where username=@usersname", conn);
conn.Open();
com.Parameters.AddWithValue("CirSuggestions3", events);
com.Parameters.AddWithValue("usersname", username);
com.ExecuteNonQuery();
conn.Close();
com.Dispose(); MessageBox.Show("修改成功", "修改信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
} private void cmbuserid_SelectedIndexChanged(object sender, EventArgs e)
{
username = cmbuserid.SelectedItem;
}报错是:不存在从对象类型 System.Data.DataRowView 到已知的托管提供程序本机类型的映射。
分不多 以后再散了。。各位大大求解决啊
private void palupdate_VisibleChanged(object sender, EventArgs e)
{
SqlDataAdapter dape = new SqlDataAdapter("select * from 公交线路反馈信息 as a inner join 公交司机反馈信息 as b on a.username=b.username inner join 公交车内环境反馈信息 as c on b.username=c.username", conn);
DataSet ds = new DataSet();
dape.Fill(ds);
if (palupdate.Visible == true)
{
cmbuserid.DataSource = ds.Tables[0].DefaultView;
cmbuserid.DisplayMember = "username";
txtlines.DataBindings.Add("Text", ds.Tables[0], "CirSuggestions");
txtDirs.DataBindings.Add("Text", ds.Tables[0], "CirSuggestions1");
txtEvents.DataBindings.Add("Text", ds.Tables[0], "CirSuggestions3");
conn.Close();
}
else
{
txtlines.DataBindings.Clear();
txtDirs.DataBindings.Clear();
txtEvents.DataBindings.Clear();
}
} private void label5_Click(object sender, EventArgs e)
{
palupdate.Visible = false;
} private void button3_Click(object sender, EventArgs e)
{
string lines = txtlines.Text;
string dirs = txtDirs.Text;
string events = txtEvents.Text;
//int i = cmbuserid.SelectedIndex;
//string username="";
//switch (i)
//{
// case 0:
// username="pen123";
// break;
// case 1:
// username = "peng123";
// break;
// case 2:
// username = "peng123456";
// break;
//}
SqlCommand cmd = new SqlCommand("update 公交线路反馈信息 set CirSuggestions=@CirSuggestions where username=@usernameid", conn);
conn.Open();
cmd.Parameters.AddWithValue("CirSuggestions", lines);
cmd.Parameters.AddWithValue("usernameid", username);
cmd.ExecuteNonQuery();
conn.Close();
cmd.Dispose(); SqlCommand cmm = new SqlCommand("update 公交司机反馈信息 set CirSuggestions1=@CirSuggestions1 where username=@usernames", conn);
conn.Open();
cmm.Parameters.AddWithValue("CirSuggestions1", dirs);
cmm.Parameters.AddWithValue("usernames", username);
cmm.ExecuteNonQuery();
conn.Close();
cmm.Dispose(); SqlCommand com = new SqlCommand("update 公交车内环境反馈信息 set CirSuggestions3=@CirSuggestions3 where username=@usersname", conn);
conn.Open();
com.Parameters.AddWithValue("CirSuggestions3", events);
com.Parameters.AddWithValue("usersname", username);
com.ExecuteNonQuery();
conn.Close();
com.Dispose(); MessageBox.Show("修改成功", "修改信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
} private void cmbuserid_SelectedIndexChanged(object sender, EventArgs e)
{
username = cmbuserid.SelectedItem;
}报错是:不存在从对象类型 System.Data.DataRowView 到已知的托管提供程序本机类型的映射。
分不多 以后再散了。。各位大大求解决啊
string Id = drv.Row["id"].ToString();
cmbuserid.DataSource = ds.Tables[0].DefaultView;
cmbuserid.DisplayMember = "name";
cmbuserid.ValueMember = "name";
使用ComboBox的SelectedItem的时候需要转换。比如:
username = ((System.Data.DataRowView)cmbuserid.SelectedItem)["username"];
代码是:string Id = drv.Row["id"].ToString();