元々プログラムすることを学んだとき、3つの結果が出る可能性があると言われました。エラーがあったり、うまくいったり、何も起こらなかったりします。SQL Serverでinsertストアドプロシージャを使用する
私は現時点で問題が最後であり、送信するエラーメッセージはありません。ここで
は、Windowsフォームである:
次のようにボタンのコードです。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
namespace Basque
{
public partial class Form1 : Form
{
private String strFirstName;
private String strLastName;
public Form1()
{
InitializeComponent();
}
private void btnSave_Click(object sender, EventArgs e)
{
strFirstName = txtFirstName.Text;
strLastName = txtLastName.Text;
int tempNo;
AddNames(strFirstName, strLastName);
txtFirstName.Clear();
txtLastName.Clear();
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
this.Dispose();
}
public void AddNames(String strFirstName, String strLastName)
{
String connString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\BasqueNames.mdf;Integrated Security=True";
SqlConnection oCON = new SqlConnection(connString);
oCON.Open();
SqlCommand oCMD = new SqlCommand();
oCMD.Connection = oCON;
oCMD.CommandType = CommandType.StoredProcedure;
oCMD.CommandText = "usp_BasqueNames_Insert";
oCMD.Parameters.AddWithValue("@First", strFirstName);
oCMD.Parameters.AddWithValue("@Last", strLastName);
oCMD.ExecuteNonQuery();
oCON.Close();
}
}
}
次のように
CREATE TABLE [dbo].[Names]
(
[Id] INT IDENTITY (1, 1) NOT NULL,
[FirstName] NCHAR (10) NULL,
[LastName] NCHAR (10) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
およびストアドプロシージャを次のようにデータベースのスキーマがあることは奇数として私を打つ
CREATE PROCEDURE usp_BasqueNames_Insert
@First NCHAR(10),
@Last NCHAR(10)
AS
INSERT INTO Names(FirstName, LastName)
VALUES (@First, @Last)
RETURN @@identity
ことの一つは、私はデバッグを開始したときにということですアプリ、サーバーエクスプローラのデータベース名はすぐに赤いxを表示します。
赤いxは、処理する必要があるエラーである可能性があります。その上にカーソルを置いて、ポップアップが表示されて詳細が表示されるかどうかを確認します。 – Theo
ヒント:トリガが存在する場合、 '@@ IDENTITY'は驚くべき結果を返すことができます。 'SCOPE_IDENTITY'が良い選択です。 (そして後で 'OUTPUT'節について学んでください。) – HABO
ボタンをクリックしたときにbtnSave_Clickメソッドが実行されていますか? –