c를있는 gridview에서 행 삭제 :내있는 gridview에서 행을 삭제하는 버튼에 다음 코드를 사용하고 #
int i = GridView1.SelectedIndex;
tshirtSet.Tables["tshirts"].Rows[i].Delete();
GridView1.DataSource = tshirtset;
GridView1.DataBind();
localhost.Service mc = new localhost.Service();
mc.GetTshirtSet();
mc.ModifyDatabase(tshirtSet); <-------(Error on this line)
있는 gridview이 데이터베이스에 링크 된 웹 서비스에 의해 사용되는,이
[WebMethod]
public string ModifyDatabase(DataSet myDataset)
{
string database = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/shop.accdb;Persist Security Info=True";
OleDbConnection myConn = new OleDbConnection(database);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from tshirt", myConn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(myDataAdapter);
builder.QuotePrefix = "[";
builder.QuoteSuffix = "]";
myConn.Open();
myDataAdapter.Update(myDataset, "tshirt");
myConn.Close();
return "done";
}
: 방법은 내 데이터베이스이 방법은 웹 서비스에 또한
[WebMethod]
public DataSet GetTshirtSet()
{
DataSet tshirtSet = new DataSet();
string database = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/shop.accdb;Persist Security Info=True";
OleDbConnection myConn = new OleDbConnection(database);
string queryStr = "SELECT * FROM tshirt";
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(queryStr, myConn);
myConn.Open();
myDataAdapter.Fill(tshirtSet, "Tshirt");
myConn.Close();
return tshirtSet;
}
에서 데이터를 검색하는 데 사용됩니다, 이것은 기본적으로 데이터베이스를 업데이트
이들은 방법, 나는 어떤 행을 삭제하는 것, 어떤 제안?
System.Web.Services.Protocols.SoapException : 서버를 프로세스 요청에 연결할 수 없습니다. ---> System.InvalidOperationException : 키 열 정보를 반환하지 않는 SelectCommand에 대해 DeleteCommand에 대한 동적 SQL 생성이 지원되지 않습니다. System.Data.Common.DbDataAdapter에서 System.Data.Common.DbDataAdapter.Update (DataRow를 [] 데이터 행, DataTableMapping tableMapping)에서 System.Data.Common.DbDataAdapter.UpdatingRowStatusErrors (RowUpdatingEventArgs rowUpdatedEvent, DataRow를하여 DataRow)에서. 전자의 Service.ModifyDatabase에서 System.Data.Common.DbDataAdapter.Update (데이터 집합 데이터 집합 문자열 srcTable) (데이터 집합 MyDataSet로)에서 UpdateFromDataTable (DataTable을 데이터 테이블, DataTableMapping tableMapping) : \ 웹 \을 App_Code \ Service.cs : 라인 183 --- 내부 예외의 끝 스택 추적 ---
나는 이것이 당신이 찾고있는 것이라고 믿는다 : http://stackoverflow.com/questions/7226548/how-to-delete-row-in-gridview-using-rowdeleting-event – RBZ
그 코드의 어떤 것도 귀하의 GridView. '행을 삭제할 수 없습니다'는 의미는 무엇입니까? 오류가 발생했는데 아무 일도 일어나지 않습니까? ** 좀 더 구체적 ** ** – tnw
오류가 발생하면 키 열 정보를 반환하지 않는 select 명령에 대해 deletecommand가 지원되지 않습니다. – budosvic