В зависимости от того, как разработан ваш код, вы должны использовать объект SqlCommand для выполнения обновления без SqlDataAdapter.SqlDataAdapter используется неправильно, и он не нужен в зависимости от того, как построен ваш код.
Конструкция для адаптера DataAdapter
SqlDataAdapter = новый SqlDataAdapter (cmd);
устанавливает команду (cmd) в качестве команды SELECT для адаптера данных, а не команды обновления.(DataAdapter имеет команду вставки, обновления, удаления и выбора)
Попробуйте вместо этого:
static public void UpdateDB(string strSql, DataSet ds, string tablename)
{
SqlConnection connection = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(strSql, connection);
try
{
connection.Open();
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
// error hanlding code here
}
finally
{
connection.Close();
}
}
С другой стороны, вы можете оставить большую часть своего кода и правильно настроить команду обновления -добавьте строку, в которой будет указано
adapter.UpdateCommand = strSql;
непосредственно перед вызовом «Update».