Du skall la importera båda för att få tillgång till de.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
12 svar · 287 visningar · startad av icaaq
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?
Du skall la importera båda för att få tillgång till de.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
Jag har båda.....*redigerar*
Om du tar bort "" från doInsertSkale ???
Sitter och tittar på http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatasqlclientsqlcommandclasstopic.asp
nope samma sak
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.
Man gör så gott man kan
Jag är ute på djupt vatten nu....
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
Hoppas att nån kan leda mig upp ur sjön och in på säkert vatten igen
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]
Har inte jobbat med stored procedures, men måste du inte sätta Value på SqlCommandot också?
Ni hade så rätt så, jag vet inte vad det var för kodexempel jag hittade
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