ps.setString(2, "address2")
ps.setString(3, "email2")
这种做法给字段不可以,只能给值,因为,它解析时会给字符串加上单引号,结果就成了
insert into C(id,'name2','address2','email2') select id,name,address,email from B join A on B.id=A.value
不对吧,是不是
这样好像(只是好像,我也不懂的呵呵)不行的,dataset是一个断开的数据集,你这们做影响不了数据库里面的数据的,我是这样做的:封装在类里面的一个方法(因为我常用到),strSqlText是连接数据库的一个字符串
public static bool ExcuteSql(string strSqlText)
{
bool result = false
SqlConnection conn = null
SqlCommand cmd = null
try
{
conn = new SqlConnection(m_ConnectString)//连接
cmd = new SqlCommand(strSqlText, conn)//命令
conn.Open()
cmd.ExecuteNonQuery()//执行sql语句,比如增、删、改等
result = true
}
catch (Exception ex)
{
MessageBox.Show("5555...出错了\r\n" + ex.Message)
}
finally
{
if (conn != null &&conn.State == ConnectionState.Open)
{
conn.Close()
conn.Dispose() //释放资源
}
if (cmd != null) cmd.Dispose()//释放资源
}
return result}
为Documents 表里面添加一条数据:
获取并定义数据,凑成sql语句:
str姓名 = textBoxX1.Text.Trim()
str贯籍 = textBoxX2.Text.Trim()
str出生日期 = textBoxX3.Text.Trim()
str身高 = textBoxX4.Text.Trim()
str体重 = textBoxX5.Text.Trim()
str成名作 = textBoxX6.Text.Trim()
str毕业学院 = textBoxX7.Text.Trim()
str性别 = comboBoxEx1.SelectedIndex.ToString ()
string strSql = "insert into Documents (姓名,性别,贯籍,出生日期,身高,体重,成名作,毕业学院) Values('" + str姓名 + "','" + str性别 + "','" + str贯籍 + "','" + str出生日期 + "','" + str身高 + "','" + str体重 + "','" + str成名作 + "','" + str毕业学院 + "')"
调用类里面的方法:(DB是类文件名,你也以把这个方法定义在当前的文件,不过如果常要用到,我想还封装到类里面方便一点...嘻嘻)
if (DB.ExcuteSql(strSql) == true)
{
MessageBox.Show("嘻嘻可以了")
}
else
{
....................
}
DATASET 应该也可以改数据库里面的数据吧,我也没试过,但像你这样的方法是行不通的,我很白菜......希望没误导你
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)