Je suis en train de vérifier les dossiers en double, où l'un de ses champs est la date ... TxtNum
est TextBox et DtDate
est DateTimePicker et une procédure stockée appelée CHECK_DUPLICATE
Vérifier la valeur de l'année en double de DateTimePicker
Dans ma situation, je n » t veulent vérifier la date exacte .. mais l'année seulement .. par exemple .. l'enregistrement est dupliqués si deux est entrée txtNum = 1000
et la valeur de l'année des deux champs est 2017
public DataTable CHECK_DUPLICATE(string txtNum, string dtDateYear)
{
DataTable dt = new DataTable();
SqlParameter[] param = new SqlParameter[2];
param[0] = new SqlParameter("@txtNum", SqlDbType.NVarChar, 50);
param[0].Value = txtNum;
param[1] = new SqlParameter("@dtDateYear ", SqlDbType.NVarChar, 5);
param[1].Value = dtDateYear;
dt = DAL.SelectData("CHECK_PROCURATION_DUPLICATE", param);
DAL.close();
return dt;
}
private void btnAddProcuration_Click(object sender, EventArgs e)
{
string year = DtDate.Value.ToString("yyyy");
DataTable dt = new DataTable();
dt = CHECK_DUPLICATE (txtNum.Text, year);
if (dt.Rows.Count > 1)
MessageBox.Show("Duplicated records", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
SQL:
CREATE PROCEDURE [dbo].[CHECK_DUPLICATE]
@Num nvarchar (50),
@Year nvarchar (5),
AS
BEGIN
SELECT Num, DATEPART(YEAR, MyDate) AS 'Year'
FROM tblMyList
WHERE Num = @Num AND MyDate = @Year
END
Mais cela n'a pas fonctionné ... il enregistre les enregistrements même s'il s'agit d'un doublon.
Qu'est-ce que "MyNum" dans votre phrase où? –
Désolé ... son 'Num' pas' MyNum' .. je modifie la question –