Access问题,急! access数据库插入一条记录时,其中一个字段需要把ID加上,ID为主键,自增,比如insert时id为1,字段为100001,请教各位该怎么做,最好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 后台代码控制啊你向数据库插入了一条数据,然后取得插入数据库的自增主键ID,然后 10000+你取得的主键ID号,插入到另外一个字段里面int newId = select @@Identity 取得插入数据库的自增主键IDinsert into table_name(加上ID的字段) values(@addid)OledbParameter[] paras=new OledbParameter[]{new OledbParameter("@addid",10000+newId)} 对了,为了保证数据的一致性,放在一个事物里面处理,大概形式using (OleDbConnection conn = sqlhelper.Createconn()) { conn.Open(); OleDbTransaction trans = conn.BeginTransaction(); OleDbCommand cmd = conn.CreateCommand(); cmd.Transaction = trans; try { sql = "insert into n_news(statichtml,n_cid,n_title,n_flag,n_content,n_keywords,n_descryption) values(@strhtm,@ncid,@title,@flag,@content,@key,@desc)"; cmd.CommandText = sql; cmd.Parameters.Add("@strhtm", filename); cmd.Parameters.Add("@ncid", str); cmd.Parameters.Add("@title", title.Value); cmd.Parameters.Add("@flag", rad.SelectedValue); cmd.Parameters.Add("@content", fck.Value); cmd.Parameters.Add("@key", txtkey.Text); cmd.Parameters.Add("@desc", txtdecs.Value); cmd.ExecuteNonQuery(); string newsql = "select @@Identity"; cmd.CommandText = newsql; int newid = (int)cmd.ExecuteScalar(); cmd.Parameters.Clear(); string[] array = sqlhelper.splitstr(key.Text.Trim(), ","); for (int i = 0; i < array.Length; i++) { string keysql = "insert into k_keywords(n_nid,k_word) values(@nid,@word)"; cmd.CommandText = keysql; cmd.Parameters.Add("@nid", newid); cmd.Parameters.Add("@word", array[i].ToString()); cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); } trans.Commit(); } catch (Exception) { if (trans != null) { trans.Rollback(); } ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript'>alert('新闻发表失败,请联系管理员')</script>"); } } 你用这个字段的值 + id 就对了啊 去掉id的自增 entity framework修改 有缓存的问题 只显示一条记录还要用Repeater吗? 创建一个ASPX文件自动会有 PAGE_LOAD 方法生成,那么如何生成其他事件方法呢? 用戶登陸注銷的頁面 跪求做过OA系统二次开发邮件收发模块的高人指点 这样用变量对吗?关于图片保存路径 C# 【老问题】session传递 如何将已经显示在IE中的曲线图,另存为图片格式? 请教在Controller里获取应用程序缓存总数 一个菜鸟的问题 里面的语句是什么??帮忙看看 在网页中做一个表格的东西让用户输入,用什么控件
new OledbParameter("@addid",10000+newId)
}
using (OleDbConnection conn = sqlhelper.Createconn())
{
conn.Open();
OleDbTransaction trans = conn.BeginTransaction();
OleDbCommand cmd = conn.CreateCommand();
cmd.Transaction = trans;
try
{
sql = "insert into n_news(statichtml,n_cid,n_title,n_flag,n_content,n_keywords,n_descryption) values(@strhtm,@ncid,@title,@flag,@content,@key,@desc)";
cmd.CommandText = sql;
cmd.Parameters.Add("@strhtm", filename);
cmd.Parameters.Add("@ncid", str);
cmd.Parameters.Add("@title", title.Value);
cmd.Parameters.Add("@flag", rad.SelectedValue);
cmd.Parameters.Add("@content", fck.Value);
cmd.Parameters.Add("@key", txtkey.Text);
cmd.Parameters.Add("@desc", txtdecs.Value);
cmd.ExecuteNonQuery(); string newsql = "select @@Identity";
cmd.CommandText = newsql;
int newid = (int)cmd.ExecuteScalar(); cmd.Parameters.Clear(); string[] array = sqlhelper.splitstr(key.Text.Trim(), ",");
for (int i = 0; i < array.Length; i++)
{
string keysql = "insert into k_keywords(n_nid,k_word) values(@nid,@word)";
cmd.CommandText = keysql;
cmd.Parameters.Add("@nid", newid);
cmd.Parameters.Add("@word", array[i].ToString());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
} trans.Commit();
}
catch (Exception)
{
if (trans != null)
{
trans.Rollback();
}
ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript'>alert('新闻发表失败,请联系管理员')</script>");
}
}