Visual Studio 2010でC#、. NET Framework 3.5を使用してWebサービスを作成しています。質問は基本的なものかもしれませんが、機能させることができませんでした。
Webサービスを介してSQLデータベースにデータを正常に送信できました。SQLデータベースの1つのテーブルにレコード/行を挿入しているときに、別のテーブル、たとえばテーブルBにデータを挿入できるようにしたいのです。テーブルBには5つの列があります。前のテーブル(Webサービスを介して挿入されるテーブルA)から2つの列値を取得します。表Bの1つの列は主キー値であり、残りの2つの列には静的テキスト値があります。
テーブルAの構造は次のとおりです
id int (primary key)
CustName varchar(45)
CustAddress varchar(45)
CustContacts varchar(45)
CustQuoteDate varchar(45)
CustLoginId varchar(45)
表Bの構造:
id int (primary key)
OrderId varchar(45) NOT NULL //This will get value from table A's Primary key
OrderReqDate [varchar](45) NOT NULL //This will get value from table A's CustQuotDate
OrderStatus [varchar](45) NOT NULL // This will be a static value "Requested"
OrderGroup [varchar](45) NOT NULL // This will be a static value "GGGG"
そこで、2番目の挿入についてクエリをテストしました。
INSERT INTO dbo.TableB(OrderId , currstatus, OrderReqDate, OrderGroup)
SELECT ta.id, 'REQUESTED', ta.CustQuoteDate, 'GGGG' from dbo.TableA ta
where ta.CustLoginId = 'kenw1'
したがって、TableAに新しく追加されたCustLoginIdごとに、2番目のテーブル。TableBは、tableAからいくつかのフィールドを含む行挿入も取得します。
私の質問は、2番目の挿入を実行できるように以下のWebサービスコードを編集する方法/場所です。私を助けるためのあなたの時間と努力は大いに感謝されるでしょう。TIA。
これが私のWebサービスです。
[WebMethod(Description = "Adds a Customer Request Form data to the database [TableA].")]
public void AddCustRequestRecord(string CustName, string CustAddress, string custContacts, string custQuoteDate, string CustLoginId)
{
//Static text values for columns in tableB
string OrderStatus = "REQUESTED";
string OrderGroup = "GGGG";
string connectionString =
ConfigurationManager.ConnectionStrings["myDatabase"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connectionString))
{
DateTime now = DateTime.Now;
string QuoteDt = now.ToString();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT INTO TableA "
+ "(CustName, CustAddress, custContacts, CustLoginId, custQuoteDate) "
+ "VALUES (@CustName, @CustAddress, @custContacts, @CustLoginId,'" + Quotedt + "')";
cmd.Parameters.AddWithValue("CustName", CustName);
cmd.Parameters.AddWithValue("CustAddress", CustAddress);
cmd.Parameters.AddWithValue("custContacts", custContacts);
cmd.Parameters.AddWithValue("CustLoginId", CustLoginId);
cmd.Parameters.AddWithValue("custQuoteDate", custQuoteDate);
cmd.Connection = conn;
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch
{
// Handle the error using your own preferred error-handling method
}
finally
{
conn.Close();
}
}
}