C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[12]: todoリスト(取得したidレコードをテキストにセット)


(過去ログ 154 を表示中)

[トピック内 21 記事 (1 - 20 表示)]  << 0 | 1 >>

■89308 / inTopicNo.1)  todoリスト(取得したidレコードをテキストにセット)
  
□投稿者/ 新人 (4回)-(2018/11/19(Mon) 18:28:38)

分類:[C#] 

Form3(編集画面)に変更したデータを編集する行に上書き?するようには、こちらでよろしいですか?

//編集した内容をForm1に移す
command.Connection = conn;
//閉じる→DataGripに移る。
//command.CommandText = "INSERT INTO todo_dm(todo,date_time,place,belongings,memo)values('料理','2018-9-24 17:00','自宅', null); ";
command.ExecuteNonQuery();

//Form3_loadイベントで取得したidのレコード情報をテキストボックスにセットする
txtTodo.Text = Form1.str_Todo;
txtdate.Text = Form3.str_Date_time;
txt3place.Text = Form3.str_Place;
txtBelong.Text = Form3.str_Belongings;
txt5Memo.Text = Form3.str_Memo;


引用返信 編集キー/
■89309 / inTopicNo.2)  Re[1]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ kiku (61回)-(2018/11/19(Mon) 19:30:47)
No89308 (新人 さん) に返信
> Form3(編集画面)に変更したデータを編集する行に上書き?するようには、こちらでよろしいですか?

実際に実行させて試してください。
正常に動作すれば掲示板に質問する必要もないと思います。
動作しないのであるならば、どのように動作しないか
説明してください。

引用返信 編集キー/
■89312 / inTopicNo.3)  Re[2]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ 新人 (5回)-(2018/11/20(Tue) 10:29:15)
No89309 (kiku さん) に返信
CS0117で、「Form3にstrのDate_time,Place,Belongings,Memoの定義が、ありません。」と出ました。

Form3の画面で、

//編集後、選択した欄を更新
command.CommandText = "UPDATE INTO world.todo_dm(todo, date_time, place, belongings,memo)values('" + txtTodo.Text + "', '" + txtdate.Text + "', '" + txt3place.Text + "', '" + txtBelong.Text + "','" + txt5Memo.Text + "')";
入力する内容はこちらにしましたが、よろしいですか?





> ■No89308 (新人 さん) に返信
>>Form3(編集画面)に変更したデータを編集する行に上書き?するようには、こちらでよろしいですか?
>
> 実際に実行させて試してください。
> 正常に動作すれば掲示板に質問する必要もないと思います。
> 動作しないのであるならば、どのように動作しないか
> 説明してください。
>
引用返信 編集キー/
■89313 / inTopicNo.4)  Re[3]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ kiku (63回)-(2018/11/20(Tue) 10:50:03)
何がしたいのかわかりません。
なので、何が正しいか判断できない状況です。

掲示板で質問する場合は最低限下記が必要です。

1.何がしたいのか
2.実際に実行してみてどうだったか
3.2でエラーになった場合
  どこの行でなんという内容のエラーが出たのか
  そのときの最低限のソースの提示
4.2でエラーにはならないが、思った動作にならない場合
  どのように思ったような動作にならないのか

今回の場合、下記がわからないです。
1.最低限のソース提示
2.どの行でエラーになっているのか
3.そもそも何がしたいのか?
  今回の場合は、DBに情報を反映させたいのか?
4.DBに情報を反映しないのであるならば
  DBの種類や、テーブル構造はどうなっているのか?

このあたりがクリアにならないと誰も回答できないと思います。
質問するためには、相手に伝わるように過不足なく情報を
提示しないと適切な回答が得られません。
※質問はしているが回答が得られない場合には、
 たいていは質問の仕方が悪い場合が多いです。

一度文章を書いたら、投稿する前にもう一度読み直し
第3者に伝わるのかもう一度考え直してみてください。

あまりにもわからなかったので
小言を書いてしまいましたが、
ご考慮頂けますと、もっとスムーズに
事が進むと思います。
がんばってください。


引用返信 編集キー/
■89318 / inTopicNo.5)  Re[4]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ 新人 (6回)-(2018/11/20(Tue) 11:53:19)
No89313 (kiku さん) に返信

基盤のForm1の編集ボタン押して、編集画面のForm3に行った後に、
Form3で選択した内容を入力しなおして、
OKボタンを押した際に、
選択した行が、入力しなおしたものに、
更新されてるようにしたいのです。
両方更新するように組んで実行してみたのですが、
ハンドルされていない例外がForm3上でてしまいました。
commandが光ってます。
MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO world.todo_dm(todo, date_time, place, belongings,memo)values('映画の日'' at line 1'

何が違うのか教えてください。

※Form1上の基盤の内容↓

private void Form1_Load(object sender, EventArgs e)
{
//Form3_loadイベントで取得したidのレコード情報をテキストボックスにセットする
txtTodo.Text = str_Todo;
txtdate.Text = str_Date_time;
txt3place.Text = str_Place;
txtBelong.Text = str_Belongings;
txt5Memo.Text = str_Memo;


//チェックボックスの設定
DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
column.Name = "Check Box";
column.HeaderText = "HT";


//行選択
DataGridViewButtonColumn columnline = new DataGridViewButtonColumn();
columnline.Name = "line";
columnline.HeaderText = "line";
columnline.UseColumnTextForButtonValue = true;

columnline.Text = "編集";


//IDの表示
DataGridViewTextBoxColumn columnId = new DataGridViewTextBoxColumn();
columnId.Name = "ID";
columnId.HeaderText = "ID";

//Todoの表示
DataGridViewTextBoxColumn columnTodo = new DataGridViewTextBoxColumn();
columnTodo.Name = "todo";
columnTodo.HeaderText = "todo";

//Date_timeの表示
DataGridViewTextBoxColumn columnDate_time = new DataGridViewTextBoxColumn();
columnDate_time.Name = "date_time";
columnDate_time.HeaderText = "date_time";

//Placeの表示
DataGridViewTextBoxColumn columnPlace = new DataGridViewTextBoxColumn();
columnPlace.Name = "place";
columnPlace.HeaderText = "place";

//Belongingsの表示
DataGridViewTextBoxColumn columnBelongings = new DataGridViewTextBoxColumn();
columnBelongings.Name = "belongings";
columnBelongings.HeaderText = "belongings";

//memoの表示
DataGridViewTextBoxColumn columnMemo = new DataGridViewTextBoxColumn();
columnMemo.Name = "memo";
columnMemo.HeaderText = "memo";

// Header Textをdatagrip上に表示

dataGrid.Columns.Add(column);
dataGrid.Columns.Add(columnline);
dataGrid.Columns.Add(columnId);
dataGrid.Columns.Add(columnTodo);
dataGrid.Columns.Add(columnDate_time);
dataGrid.Columns.Add(columnPlace);
dataGrid.Columns.Add(columnBelongings);
dataGrid.Columns.Add(columnMemo);

//DataGridView1にユーザーが新しい行を追加できないようにする
dataGrid.AllowUserToAddRows = false;

//DataGridViewの列の幅や行の高さを自動的に調整する
dataGrid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;


// DataBase接続文
string conn_str = "DataSource=Localhost;Database=mysql;UserID=root;Password=root";

MySqlConnection conn = new MySqlConnection(conn_str);

// 接続開始
conn.Open();

MySqlCommand command = new MySqlCommand();

// SERECT文設定
// commandtextにクエリーの内容を格納
command.CommandText = "select * from world.todo_dm";
//commandtextのクエリーをdbのクエリーに書いてるイメージ
command.Connection = conn;
//Readerにクエリーの実行結果を書く
MySqlDataReader reader = command.ExecuteReader();

//配列の定義
ArrayList list = new ArrayList();

//テーブル読み込みの条件分岐
//データがある場合
if (reader.HasRows)
{
while (reader.Read())
{
todo_dm_data model = new todo_dm_data();
model.ID = reader["ID"].ToString();
model.todo = reader["todo"].ToString();
model.date_time = reader["date_time"].ToString();
model.place = reader["place"].ToString();
model.belongings = reader["belongings"].ToString();
model.memo = reader["memo"].ToString();
list.Add(model);
}
}
//データがない場合
else
{
MessageBox.Show("データがありません。");
return;
}
int row = 0;
foreach(todo_dm_data model in list)
{

dataGrid.Rows.Add(new DataGridViewRow());
model.LoadToView(dataGrid, row);
row++;

}

}


※Form3上のOKButtonのプログラムの内容↓
private void btnOk_Click(object sender, EventArgs e)
{
//DataBase接続文
string conn_str = "DataSource=Localhost;Database=mysql;UserID=root;Password=root";

MySqlConnection conn = new MySqlConnection(conn_str);
MySqlCommand command = new MySqlCommand();

//接続開始
conn.Open();

//SELECT文設定
command.CommandText = "INSERT INTO world.todo_dm(todo, date_time, place, belongings,memo)values('" + txtTodo.Text + "', '" + txtdate.Text + "', '" + txt3place.Text + "', '" + txtBelong.Text + "','" + txt5Memo.Text + "')";
command.Connection = conn;

//編集後、選択したForm1の欄に更新
command.CommandText = "UPDATE INTO world.todo_dm(todo, date_time, place, belongings,memo)values('" + txtTodo.Text + "', '" + txtdate.Text + "', '" + txt3place.Text + "', '" + txtBelong.Text + "','" + txt5Memo.Text + "')";
command.Connection = conn;

//閉じる→DataGripに移る。
//command.CommandText = "INSERT INTO todo_dm(todo,date_time,place,belongings,memo)values('料理','2018-9-24 17:00','自宅', null); ";
command.ExecuteNonQuery();

//閉じる→DataGripに移る。
//command.CommandText = "INSERT INTO todo_dm(todo,date_time,place,belongings,memo)values('料理','2018-9-24 17:00','自宅', null); ";
command.ExecuteNonQuery();

this.Close();

> 何がしたいのかわかりません。
> なので、何が正しいか判断できない状況です。
>
> 掲示板で質問する場合は最低限下記が必要です。
>
> 1.何がしたいのか
> 2.実際に実行してみてどうだったか
> 3.2でエラーになった場合
>   どこの行でなんという内容のエラーが出たのか
>   そのときの最低限のソースの提示
> 4.2でエラーにはならないが、思った動作にならない場合
>   どのように思ったような動作にならないのか
>
> 今回の場合、下記がわからないです。
> 1.最低限のソース提示
> 2.どの行でエラーになっているのか
> 3.そもそも何がしたいのか?
>   今回の場合は、DBに情報を反映させたいのか?
> 4.DBに情報を反映しないのであるならば
>   DBの種類や、テーブル構造はどうなっているのか?
>
> このあたりがクリアにならないと誰も回答できないと思います。
> 質問するためには、相手に伝わるように過不足なく情報を
> 提示しないと適切な回答が得られません。
> ※質問はしているが回答が得られない場合には、
>  たいていは質問の仕方が悪い場合が多いです。
>
> 一度文章を書いたら、投稿する前にもう一度読み直し
> 第3者に伝わるのかもう一度考え直してみてください。
>
> あまりにもわからなかったので
> 小言を書いてしまいましたが、
> ご考慮頂けますと、もっとスムーズに
> 事が進むと思います。
> がんばってください。
>
>
引用返信 編集キー/
■89323 / inTopicNo.6)  Re[5]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ みい (88回)-(2018/11/20(Tue) 13:14:26)
No89318 (新人 さん) に返信
> MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO world.todo_dm(todo, date_time, place, belongings,memo)values('映画の日'' at line 1'
この付近に構文エラーがあるから見直してねっていうエラーメッセージ
valueの前にスペースかな?
引用返信 編集キー/
■89324 / inTopicNo.7)  Re[6]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ みい (89回)-(2018/11/20(Tue) 13:18:16)
No89323 (みい さん) に返信
訂正:value→values
引用返信 編集キー/
■89325 / inTopicNo.8)  Re[7]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ 新人 (7回)-(2018/11/20(Tue) 14:11:13)
No89324 (みい さん) に返信
スペース開けてみましたが、
ハンドルされてない例外
System.InvalidOperationException: 'The CommandText property has not been properly initialized.'

command.ExecuteNonQuery();×↑

という形ででてしまいました。

それと、更新するための編集画面のUPDATE文なのですが、

//SELECT文設定
//command.CommandText = "UPDATE INTO world.todo_dm(todo, date_time, place, belongings,memo) values('"+txtTodo.Text+'",'"+txtdate.Text+'",'"+txt3place.Text+'",'"+txtBelong.Text+"','"+txt5Memo.Text+"')"; ";
command.Connection = conn;

どのような文で打てばよいのか教えていただけないでしょうか?


> ■No89323 (みい さん) に返信
> 訂正:value→values
引用返信 編集キー/
■89330 / inTopicNo.9)  Re[5]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ PANG2 (243回)-(2018/11/20(Tue) 14:49:03)
No89318 (新人 さん) に返信
> ■No89313 (kiku さん) に返信

>int row = 0;
>foreach(todo_dm_data model in list)
>{ 
>     dataGrid.Rows.Add(new DataGridViewRow());
>     model.LoadToView(dataGrid, row);
>     row++;
>}

個々のセルに代入するより、
DataGridView.DataSource = List<T> 
の一発でデータバインドしたほうがよい。

List<T>のデータをDataGridViewへ格納
https://gist.github.com/KentaYamada/9066065


No89298
の回答は、
List<T>のカレント行を渡せばよい。
となります。

---
以下、私見です。

ExecuteReader / List<T> より DataAdapter / DataSet がよい。
DataSet より 型付DataSet がよい。
BindingSource を噛ませるとさらによい。

DataAdapter/型付DataSet/BindingSourceをドラッグ&ドロップで自動生成する方法を試してみるべし。

ドラッグ&ドロップ一発でDB連携アプリを完全構築!
http://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_12/vb2005_12_01.html

引用返信 編集キー/
■89333 / inTopicNo.10)  Re[8]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ みい (90回)-(2018/11/20(Tue) 15:02:53)
No89325 (新人 さん) に返信
> ■No89324 (みい さん) に返信
> スペース開けてみましたが、
> ハンドルされてない例外
> System.InvalidOperationException: 'The CommandText property has not been properly initialized.'
>
> command.ExecuteNonQuery();×↑
>
> という形ででてしまいました。
DBのテーブルに[ID]という項目はないですか?
INSERT文に抜けてませんか?
引用返信 編集キー/
■89334 / inTopicNo.11)  Re[6]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ せば (9回)-(2018/11/20(Tue) 15:05:51)
なにがしたいのかいまいち把握出来ないので、正確な回答は難しい状況ですが、
とりあえず。
> System.InvalidOperationException: 'The CommandText property has not been properly initialized.'
google先生で翻訳すると、'CommandTextプロパティが適切に初期化されていません。'

エラー内容から見ると、CommandTextに何も入ってないのでは?
変更内容が分からないと、答えようがないですね。

> //SELECT文設定
> //command.CommandText = "UPDATE INTO world.todo_dm(todo, date_time, place, belongings,memo) values('"+txtTodo.Text+'",'"+txtdate.Text+'",'"+txt3place.Text+'",'"+txtBelong.Text+"','"+txt5Memo.Text+"')"; ";
> command.Connection = conn;
>
> どのような文で打てばよいのか教えていただけないでしょうか?
UPDATE INTOとななんでしょう?
INSERT文を書きたいのか、UPDATE文を書きたいのか分かりませんが、とりあえずリンク
https://www.dbonline.jp/mysql/insert/index7.html
https://www.dbonline.jp/mysql/insert/index1.html

構文的にはINSERTしたかったのかな?
No89318
btnOk_Clickの通りに実行しているのであれば
commandのインスタンスを使いまわしてるので、最終的エラーは
「INSERT INTO todo_dm(todo,date_time,place,belongings,memo)values('料理','2018-9-24 17:00','自宅', null); 」
で発生してると思われます。


引用返信 編集キー/
■89335 / inTopicNo.12)  Re[6]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ 新人 (8回)-(2018/11/20(Tue) 15:10:20)
No89330 (PANG2 さん) に返信
はい、IDもあります。
抜けてました。ありがとうございます。
確認なのですが、更新するためのプログラミングとして、
編集画面に以下の文を入力したのですが、
内容としては、正しいですか?

UPDATE Form1

SET Todo = "予定"

Date_time = "いつか"

  Place = "場所"

  Belomging = "荷物"

  Memo = "備考"



> ■No89318 (新人 さん) に返信
>>■No89313 (kiku さん) に返信
>
> >int row = 0;
> >foreach(todo_dm_data model in list)
> >{
>> dataGrid.Rows.Add(new DataGridViewRow());
>> model.LoadToView(dataGrid, row);
>> row++;
> >}
>
> 個々のセルに代入するより、
> DataGridView.DataSource = List<T>
> の一発でデータバインドしたほうがよい。
>
> List<T>のデータをDataGridViewへ格納
> https://gist.github.com/KentaYamada/9066065
>
>
> No89298
> の回答は、
> List<T>のカレント行を渡せばよい。
> となります。
>
> ---
> 以下、私見です。
>
> ExecuteReader / List<T> より DataAdapter / DataSet がよい。
> DataSet より 型付DataSet がよい。
> BindingSource を噛ませるとさらによい。
>
> DataAdapter/型付DataSet/BindingSourceをドラッグ&ドロップで自動生成する方法を試してみるべし。
>
> ドラッグ&ドロップ一発でDB連携アプリを完全構築!
> http://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_12/vb2005_12_01.html
>
引用返信 編集キー/
■89355 / inTopicNo.13)  Re[7]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ みい (91回)-(2018/11/21(Wed) 10:59:27)
No89335 (新人 さん) に返信
> UPDATE Form1
>
> SET Todo = "予定"
>
> Date_time = "いつか"
>
>   Place = "場所"
>
>   Belomging = "荷物"
>
>   Memo = "備考"
Form1って画面(Form)ですよね?
89334でせばさんが書かれていたリンク先(https://www.dbonline.jp/mysql/insert/index7.html)読みましたか?
「指定のデータベース内にある指定のテーブルに対し、指定したカラムに新しい値を設定します」
引用返信 編集キー/
■89356 / inTopicNo.14)  Re[7]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ 新人 (9回)-(2018/11/21(Wed) 11:07:08)
No89334 (せば さん) に返信
私は、今現在Todoリストの作成段階で、
編集画面のForm3に送られた内容を変えたとき
基盤のForm1に更新されるようにしたいのです。

今さっき、ハンドルされてない例外が出てきて、
その範囲の文章内の何が間違いなのわからず、
悩んでます。
よろしければ、お力添えをお願いいたします。


こちらがその内容です。↓
MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET Todo = ジャンプフェスタ2019 WHERE id = 1' at line 1


こちらは、編集画面(Form3)での、Update文の内容です。↓
string dataGrid = "Update SET Todo = ジャンプフェスタ2019 WHERE id = 1";
command.CommandText = dataGrid;














> なにがしたいのかいまいち把握出来ないので、正確な回答は難しい状況ですが、
> とりあえず。
>>System.InvalidOperationException: 'The CommandText property has not been properly initialized.'
> google先生で翻訳すると、'CommandTextプロパティが適切に初期化されていません。'
>
> エラー内容から見ると、CommandTextに何も入ってないのでは?
> 変更内容が分からないと、答えようがないですね。
>
>>//SELECT文設定
>> //command.CommandText = "UPDATE INTO world.todo_dm(todo, date_time, place, belongings,memo) values('"+txtTodo.Text+'",'"+txtdate.Text+'",'"+txt3place.Text+'",'"+txtBelong.Text+"','"+txt5Memo.Text+"')"; ";
>> command.Connection = conn;
>>
>>どのような文で打てばよいのか教えていただけないでしょうか?
> UPDATE INTOとななんでしょう?
> INSERT文を書きたいのか、UPDATE文を書きたいのか分かりませんが、とりあえずリンク
> https://www.dbonline.jp/mysql/insert/index7.html
> https://www.dbonline.jp/mysql/insert/index1.html
>
> 構文的にはINSERTしたかったのかな?
> No89318
> btnOk_Clickの通りに実行しているのであれば
> commandのインスタンスを使いまわしてるので、最終的エラーは
> 「INSERT INTO todo_dm(todo,date_time,place,belongings,memo)values('料理','2018-9-24 17:00','自宅', null); 」
> で発生してると思われます。
>
>
引用返信 編集キー/
■89360 / inTopicNo.15)  Re[8]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ みい (92回)-(2018/11/21(Wed) 13:26:33)
FormはFormであってデータベースではないので、
SQL文にデータベースではなくFormを指定しても動作しません。

必要なのはフォーム間のデータ受け渡し
→「フォーム間 データ受け渡し」等でググればサンプルはいろいろ出てきます。

<例>
Form1からForm3を開いている場合(Form1[親]-Form3[子]の関係)
https://dobon.net/vb/dotnet/form/accessanotherformdata.html

引用返信 編集キー/
■89362 / inTopicNo.16)  Re[8]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ しま (7回)-(2018/11/21(Wed) 13:44:00)
No89356 (新人 さん) に返信
No89356 (新人 さん) に返信
> ■No89334 (せば さん) に返信
> 私は、今現在Todoリストの作成段階で、
> 編集画面のForm3に送られた内容を変えたとき
> 基盤のForm1に更新されるようにしたいのです。
>
> 今さっき、ハンドルされてない例外が出てきて、
> その範囲の文章内の何が間違いなのわからず、
> 悩んでます。
>
>
> こちらがその内容です。↓
> MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET Todo = ジャンプフェスタ2019 WHERE id = 1' at line 1
>

これは、 MySql からのエラー報告で、あなたが実行しようとした SQL 文が正しくないので実行できませんと言っています。
つまり
>'SET Todo = ジャンプフェスタ2019 WHERE id = 1' at line 1
という SQL 文(' から ' までの部分)のことです。
SQL 文のどこが誤っているのかわかりますか?

>
> こちらは、編集画面(Form3)での、Update文の内容です。↓
> string dataGrid = "Update SET Todo = ジャンプフェスタ2019 WHERE id = 1";
> command.CommandText = dataGrid;

UPDATE 文について学んでください。

それから、> で始まる引用を無闇に付けるのは読み辛いので止めてください。
必要な引用は無駄だし、読んでみなければ必要ないかも判断できないでしょう?

具体的には以下の部分です(一部しか引用していません)
>>なにがしたいのかいまいち把握出来ないので、正確な回答は難しい状況ですが、
>>とりあえず。
> >>System.InvalidOperationException: 'The CommandText property has not been properly initialized.'
>>google先生で翻訳すると、'CommandTextプロパティが適切に初期化されていません。'

引用返信 編集キー/
■89368 / inTopicNo.17)  Re[9]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ 新人 (10回)-(2018/11/21(Wed) 14:18:17)
No89362 (しま さん) に返信

参考になるサイトいくつか見て、チェックしましたが、
何処が違うのかわかりません。

別に組んでみたのですが、拝見をお願いします。

↓form3の更新部分のプログラミング
string dataGrid = "Update dataGrid USER SET Todo = ジャンプフェスタ2019 WHERE id = 1";
command.CommandText = dataGrid;





> ■No89356 (新人 さん) に返信
> ■No89356 (新人 さん) に返信
>>■No89334 (せば さん) に返信
>>私は、今現在Todoリストの作成段階で、
>>編集画面のForm3に送られた内容を変えたとき
>>基盤のForm1に更新されるようにしたいのです。
>>
>>今さっき、ハンドルされてない例外が出てきて、
>>その範囲の文章内の何が間違いなのわからず、
>>悩んでます。
>>
>>
>>こちらがその内容です。↓
>>MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET Todo = ジャンプフェスタ2019 WHERE id = 1' at line 1
>>
>
> これは、 MySql からのエラー報告で、あなたが実行しようとした SQL 文が正しくないので実行できませんと言っています。
> つまり
> >'SET Todo = ジャンプフェスタ2019 WHERE id = 1' at line 1
> という SQL 文(' から ' までの部分)のことです。
> SQL 文のどこが誤っているのかわかりますか?






>
>>
>>こちらは、編集画面(Form3)での、Update文の内容です。↓
>>string dataGrid = "Update SET Todo = ジャンプフェスタ2019 WHERE id = 1";
>> command.CommandText = dataGrid;
>
> UPDATE 文について学んでください。
>
> それから、> で始まる引用を無闇に付けるのは読み辛いので止めてください。
> 必要な引用は無駄だし、読んでみなければ必要ないかも判断できないでしょう?
>
> 具体的には以下の部分です(一部しか引用していません)
> >>なにがしたいのかいまいち把握出来ないので、正確な回答は難しい状況ですが、
> >>とりあえず。
>>>>System.InvalidOperationException: 'The CommandText property has not been properly initialized.'
> >>google先生で翻訳すると、'CommandTextプロパティが適切に初期化されていません。'
>
引用返信 編集キー/
■89369 / inTopicNo.18)  Re[10]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ しま (8回)-(2018/11/21(Wed) 14:33:49)
No89368 (新人 さん) に返信
> ■No89362 (しま さん) に返信
>
> 参考になるサイトいくつか見て、チェックしましたが、
> 何処が違うのかわかりません。
>
> 別に組んでみたのですが、拝見をお願いします。
>
> ↓form3の更新部分のプログラミング
> string dataGrid = "Update dataGrid USER SET Todo = ジャンプフェスタ2019 WHERE id = 1";
> command.CommandText = dataGrid;
>

余計な引用は止めてください。


> "Update dataGrid USER SET Todo = ジャンプフェスタ2019 WHERE id = 1";

もし、この Update 文がおかしくないというお考えなら、正しいことを説明して下さい。

Update 文の構文は UPDATE <表> SET <列>=<値> だということはお分かりでしょうか?

後、みいさんの返事にはお気付きでしょうか?
引用返信 編集キー/
■89370 / inTopicNo.19)  Re[11]: todoリスト(取得したidレコードをテキストにセット)
□投稿者/ kaina (44回)-(2018/11/21(Wed) 14:48:40)
新人さんはどこかの会社に入社して今回のプログラムを
作成しているのかな?

であれば、今の貴方の知識でこのままやり取りを続けても
問題の解決に繋がらない可能性が高いです。

ですので、会社の先輩に今詰まっている内容を説明し、
教えてもらってはいかがでしょうか?

引用返信 編集キー/
■89371 / inTopicNo.20)  Re[9]: todoリスト(取得したidレコードをテキストにセット)
 
□投稿者/ 新人 (11回)-(2018/11/21(Wed) 14:49:43)
No89360 (みい さん) に返信
確認しました。
こちらのサイトを参考にして行ってみます。
ありがとうございます。



> FormはFormであってデータベースではないので、
> SQL文にデータベースではなくFormを指定しても動作しません。
>
> 必要なのはフォーム間のデータ受け渡し
> →「フォーム間 データ受け渡し」等でググればサンプルはいろいろ出てきます。
>
> <例>
> Form1からForm3を開いている場合(Form1[親]-Form3[子]の関係)
> https://dobon.net/vb/dotnet/form/accessanotherformdata.html
>
引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 >>

管理者用

- Child Tree -