用C#向数据库删除一行数据后的添加数据的问题
我的数据库作为现有项目添加进C#中,然后将数据库中的表拉入程序窗口中,在程序运行时删除一行数据后再添加时,没有在末尾处添加,而是在删除处添加,想知道为什么会这样?问题已经...
我的数据库作为现有项目添加进C#中,然后将数据库中的表拉入程序窗口中,在程序运行时删除一行数据后再添加时,没有在末尾处添加,而是在删除处添加,想知道为什么会这样?
问题已经解决了,谢谢下面两位的细心回答,但我的问题所在并不是在数据连接和更新上出了问题,也就不是在DataAdapter和Dataset上有问题。而是因为在所在表中没有把自动增长的标识列设为主键,所以在删除后,再进行添加时会直接在原有位置进行添加,设为主键后就没有问题了。如果有遇到这样的问题,可以借鉴参考一下,希望可以帮助大家。 展开
问题已经解决了,谢谢下面两位的细心回答,但我的问题所在并不是在数据连接和更新上出了问题,也就不是在DataAdapter和Dataset上有问题。而是因为在所在表中没有把自动增长的标识列设为主键,所以在删除后,再进行添加时会直接在原有位置进行添加,设为主键后就没有问题了。如果有遇到这样的问题,可以借鉴参考一下,希望可以帮助大家。 展开
2015-04-07 · 知道合伙人互联网行家
关注
展开全部
class DBhelper
{
string sqlconn;
SqlConnection conn;
public DBhelper()
{
sqlconn = System.Configuration.ConfigurationManager.AppSettings["sqlconn"];
conn = new SqlConnection(sqlconn);
}
public DBhelper(string sqlconn)
{
this.sqlconn = sqlconn;
conn = new SqlConnection(sqlconn);
}
//检查数据库是否打开
public void CheakOpen()
{
if (conn.State != System.Data.ConnectionState.Open)
{
conn.Open();
}
}
//检查数据库是否关闭
public void CheakClose()
{
if (conn.State != System.Data.ConnectionState.Closed)
{
conn.Close();
}
}
//执行sql命令
public bool ExcuteNonQuery(string sql)
{
bool flag = false;
try
{
CheakOpen();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
flag = true;
}
catch (Exception)
{
flag = false;
}
CheakClose();
return flag;
}
public int ExcuteScaler(string sql)
{
int value=-1;
try
{
CheakOpen();
SqlCommand cmd = new SqlCommand(sql, conn);
value=int.Parse(cmd.ExecuteScalar().ToString());
return value;
}
catch (Exception)
{
value = -1;
}
CheakClose();
return value;
}
public SqlDataReader ExcuteReader(string sql)
{
CheakOpen();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
return sdr;
}
public DataSet GetDataSet(string sql,string tableName)
{
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds,tableName);
return ds;
}
}
}
{
string sqlconn;
SqlConnection conn;
public DBhelper()
{
sqlconn = System.Configuration.ConfigurationManager.AppSettings["sqlconn"];
conn = new SqlConnection(sqlconn);
}
public DBhelper(string sqlconn)
{
this.sqlconn = sqlconn;
conn = new SqlConnection(sqlconn);
}
//检查数据库是否打开
public void CheakOpen()
{
if (conn.State != System.Data.ConnectionState.Open)
{
conn.Open();
}
}
//检查数据库是否关闭
public void CheakClose()
{
if (conn.State != System.Data.ConnectionState.Closed)
{
conn.Close();
}
}
//执行sql命令
public bool ExcuteNonQuery(string sql)
{
bool flag = false;
try
{
CheakOpen();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
flag = true;
}
catch (Exception)
{
flag = false;
}
CheakClose();
return flag;
}
public int ExcuteScaler(string sql)
{
int value=-1;
try
{
CheakOpen();
SqlCommand cmd = new SqlCommand(sql, conn);
value=int.Parse(cmd.ExecuteScalar().ToString());
return value;
}
catch (Exception)
{
value = -1;
}
CheakClose();
return value;
}
public SqlDataReader ExcuteReader(string sql)
{
CheakOpen();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
return sdr;
}
public DataSet GetDataSet(string sql,string tableName)
{
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds,tableName);
return ds;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询