icaaqMedlem sedan okt. 20005 273 inlägg Nu är jag tillbaks!!
Jag har denna
[RED]
private void Button1_Click(object sender, System.EventArgs e)
{
[b]sqlConnection[/b] myConn = new SqlConnection(get_sqlConn());
[b]sqlCommand[/b] myComm = new SqlCommand("doInsertSkale", myConn);
}
[/red]
Men den säger följande om den feta texten
The type or namespace name 'myComm' could not be found (are you missing a using directive or an assembly reference?)
Det fastän jag har specifierat namnutrymmet för SQL Server .NET providern genom att skriva
[red]
using System.Data;
using System.Data.SqlClient;
[/red]
Vad har jag gjort för fel?
DinoMedlem sedan sep. 20011 914 inlägg Du skall la importera båda för att få tillgång till de.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
icaaqMedlem sedan okt. 20005 273 inlägg Jag har båda.....*redigerar*
DinoMedlem sedan sep. 20011 914 inlägg icaaqMedlem sedan okt. 20005 273 inlägg C# är ju Case sensitive
jag hade missat stora S :r
DinoMedlem sedan sep. 20011 914 inlägg Tycker det är ganska roligt att följa dina trådar för den som kommer fram till lösning är oftast du själv. ;) Och för det andra så lär vi andra genom dig.
icaaqMedlem sedan okt. 20005 273 inlägg Man gör så gott man kan :e
icaaqMedlem sedan okt. 20005 273 inlägg Jag är ute på djupt vatten nu.... :l
Vad är fel på denna:
[red]
DateTime datum_datum = new System.DateTime();
int intFeel = 35;
int datum_id = 1;
SqlConnection myConn = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;Initial Catalog=krisen; uid=sa; pwd=");
SqlCommand myComm = new SqlCommand("doInsertSkale", myConn);
myComm.CommandType = CommandType.StoredProcedure;
myComm.Parameters.Add(new SqlParameter("@datum_datum", SqlDbType.DateTime,
8, ParameterDirection.Input, false,
0, 0, "datum_datum" ,DataRowVersion.Current ,null));
myComm.Parameters.Add(new SqlParameter("@datum_feel", SqlDbType.Int,
4, ParameterDirection.Input, false,
0, 0, "intFeel", DataRowVersion.Default, null));
myComm.Parameters.Add(new SqlParameter("@datum_id", SqlDbType.Int,
4, ParameterDirection.Input, false,
0, 0, "datum_id", DataRowVersion.Default, null));
myComm.UpdatedRowSource = UpdateRowSource.OutputParameters;
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
[/red]
jag får följande fel
Procedure 'doInsertSkale' expects parameter '@datum_datum', which was not supplied.
men enligt min mening skickar jag den......men som sagt jag är ute på djupt vatten nu för jag har alldrig hållt på med SP förut :OO
Hoppas att nån kan leda mig upp ur sjön och in på säkert vatten igen
icaaqMedlem sedan okt. 20005 273 inlägg DoInsertSkale ser ut så här
[red]
ALTER PROCEDURE dbo.doInsertSkale
(
@datum_datum DATETIME,
@datum_feel INTEGER,
@datum_id INTEGER OUTPUT)
AS
SET NOCOUNT OFF;
SELECT @datum_id = MAX(datum_id) + 1
FROM t_datum;
INSERT INTO t_datum(datum_id, datum_datum, datum_feel)
VALUES(@datum_id, @datum_datum, @datum_feel);
RETURN[/red]
:)
ptypeMedlem sedan juni 2002151 inlägg Har inte jobbat med stored procedures, men måste du inte sätta Value på SqlCommandot också?
NETworkMedlem sedan juni 20011 732 inlägg Yep, det tror jag också:
myComm.Parameters["@datum_datum"].Value = ... "
osv...
icaaqMedlem sedan okt. 20005 273 inlägg Ni hade så rätt så, jag vet inte vad det var för kodexempel jag hittade :r
Så här ser det fungerande exemplet ut:
[red]
private void Button1_Click(object sender, System.EventArgs e)
{
DateTime datum_datum = Hidden1.Value;
int intFeel = Convert.ToInt32(DropDownList1.SelectedItem.Text);
SqlConnection myConn = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;Initial Catalog=krisen; uid=sa; pwd=");
SqlCommand myComm = new SqlCommand("doInsertSkale", myConn);
myComm.CommandType = CommandType.StoredProcedure;
myComm.Parameters.Add("@datum_datum", SqlDbType.DateTime, 8).Value = datum_datum;
myComm.Parameters.Add("@datum_feel", SqlDbType.Int, 4).Value = intFeel;
myComm.UpdatedRowSource = UpdateRowSource.Both;
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
}[/red]
brooooom