@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

C#で SQLServeに書き込む

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/12/20
投稿数: 10
投稿日時: 2005-12-20 16:18
はじめましていつも参考にさせていただいております。
現在、C#から下記のようなプログラムでSQL Serverに書き込もうと試みているのですが,変数を用いると、

このコンテキストでは名前 'name' は許可されません。定数、式または変数だけがここでは許されます。列名は許可されません。

のエラーがでて書き込むことができません。どなたかアドバイスをいただけませんか?

ちなみに変数を用いないで値を直接書き込むことはできました。







string hiduke = Calendar1.SelectedDate.ToShortDateString();

string nanpaku = TextBox1.Text;
string name = TextBox3.Text;
string otona = TextBox4.Text;
string kobito = TextBox5.Text;
string heya = TextBox6.Text;
string bikou = TextBox7.Text;



string nConnectionString = string.Empty;
nConnectionString += "Data Source =aaa;";
nConnectionString += "Initial Catalog =bbb;";
nConnectionString += "Integrated Security = SSPI;";

System.Data.SqlClient.SqlConnection sConn = (
new System.Data.SqlClient.SqlConnection(nConnectionString)
);

sConn.Open();

System.Data.SqlClient.SqlCommand hCommand = sConn.CreateCommand();

hCommand.CommandText = "insert into ccc values('2005/12/13',2,name,5,2,2,2)";


int iResult = hCommand.ExecuteNonQuery();

hCommand.Dispose();
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-20 16:24
引用:

未記入さんの書き込み (2005-12-20 16:18) より:

このコンテキストでは名前 'name' は許可されません。定数、式または変数だけがここでは許されます。列名は許可されません。

insert into ccc values('2005/12/13',2,name,5,2,2,2)


文字列になっていません。
name という列を使おうとしていると見なされます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-12-20 16:29
こんにちは。

「name という文字列」を設定したい訳ではないですよね?(そうだとしても今の書き方では無理ですが)
設定したいのは name 変数に入っている値だと思うので、そのようにして下さい。

SqlParameter を使うのをお勧めします。調べてみてください。判らなければまた仰ってください。
_________________
囚人のジレンマな日々
未記入
会議室デビュー日: 2005/12/20
投稿数: 10
投稿日時: 2005-12-21 11:26
じゃんぬねっとさん 囚人さん返信ありがとうございます。

まずSqlParameterについて調べて見たいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)