老大ID是递增的键就不要插值了,连空值都不要的
sqlConnection1.Open();
//sqlInsertCommand1.Parameters["@ID"].Value=DBNull.Value; //这行去掉
sqlInsertCommand1.Parameters["@filename"].Value="aaaaa.eee.wma";
sqlConnection1.Open();
//sqlInsertCommand1.Parameters["@ID"].Value=DBNull.Value; //这行去掉
sqlInsertCommand1.Parameters["@filename"].Value="aaaaa.eee.wma";
sql中递增字段是不用插值的
{
string maxid="0";
string strconn="server=127.0.0.1;user id=sa;password=;database=luntan";
conn=new SqlConnection(strconn);
conn.Open();
string strsql="select top 1 id from picture order by id desc";
cmd=new SqlCommand(strsql,conn);
SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
maxid=dr["id"].ToString();
}
dr.Close();
cmd=new SqlCommand("sp_tu",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@id",SqlDbType.Int).Value=Convert.ToInt32(maxid)+1;
cmd.Parameters.Add("@tudaxiao",SqlDbType.VarChar).Value=buffer.Length.ToString();
cmd.Parameters.Add("@tupath",SqlDbType.VarChar).Value=file1.Value;
cmd.Parameters.Add("@tumiaoshu",SqlDbType.VarChar).Value=TextBox1.Text;
cmd.Parameters.Add("@tuname",SqlDbType.VarChar).Value=file1.Value;
cmd.Parameters.Add("@tu",SqlDbType.Image).Value=buffer;
cmd.ExecuteNonQuery();
Response.Write("<script>alert('保存成功!"+maxid.ToString()+"');</script>");
conn.Close();
}
建议楼主不要用自动递增,最好再用一张表,可以存多个表的ID,有两个字段:ID_NAME和ID_VALUE,id_name存储主健名称,id_value存可用的最大值。用的时候先更新(把这个最大值+1),然后再取这个值!